Redis學習筆記(1)- CentOS 6.4 安裝Redis
2013.10.13
學習環境
vm 10.1 + 默認、新裝的干凈 CentOS 6.4 64BIT系統
准備
1. redis 2.6.16版
安裝計划及具體步驟筆記
一、計划
1. 下載redis穩定版本
2. 解壓並安裝redis,並放入合理的目錄中
3. 手工啟動redis,測試redis是否運行正常
4. 將redis加入開機自啟動序列
二、
具體步驟筆記
1. 默認安裝的CentOS系統自帶wget小工具,所以我們利用它來在linux系統里下載redis
(1)獲取響應權限:su root
(2)規划好下載的目錄:mkdir /usr/local/soft/
(3)進入新建的目錄,准備下載:cd /usr/local/soft/
(4)下載redis最新穩定版:wget http://download.redis.io/releases/redis-2.6.16.tar.gz
2.
解壓並安裝redis,並放入合理的目錄中
(1)解壓tar包:tar zxvf redis-2.6.16.tar.gz
(2)進入解壓后出現的新目錄:
cd redis-2.6.16
(3)編譯源碼:make
(4)校驗編譯是否正確:make test
此時會有錯誤提示:You need tcl 8.5 or newer in order to run the Redis test
(5)根據以上錯誤提示,安裝ActiveTcl 8.5 以上版本(我選的是最新的8.6版本,約20多MB,URL:http://downloads.activestate.com/ActiveTcl/releases/
)
3. 手工啟動redis,測試redis是否運行正常
(1)在當前redis目錄中輸入命令啟動Redis:
src/redis-server
(2)檢查進程是否有Redis了:
ps aux | grep redis,可以看見進程列表中有一個叫“src/redis-server”的進程了
(3)啟動redis自帶的客戶端,進行測試:
# src/redis-cli -- 啟動客戶端並連接本地Redis
# set foo bar -- 提示 “ok”說明設置鍵值正常。
# get foo -- 能夠提示返回正確的“bar”,說明運行正常。
# quit -- 退出客戶端
4.
將Redis加入開機自啟動序列
(1)redis.conf 配置文件里面的daemonize no 改成 daemonize yes (后加上的步驟,否則會導致系統啟動時進入不了x windows界面)
(2)測試通過的自啟動腳本:
###########################
PATH=/usr/local/soft/redis-2.6.16:/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/usr/local/soft/redis-2.6.16/src/redis-server
REDIS_CLI=/usr/local/soft/redis-2.6.16/src/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/usr/local/soft/redis-2.6.16/redis.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
if [ "$?"="0" ]
then
echo "Redis is running..."
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Redis is stopping ..."
$REDIS_CLI -p $REDISPORT SHUTDOWN
while [ -x ${PIDFILE} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
exit 1
esac
##############################
把以上腳本保存成/etc/rc.d/init.d/redis文件
(3)編輯/etc/rc.local文件,在最后一行加上bash /etc/init.d/redis start 即可
三、擴展知識
1. VM公司從2010年開始贊助Redis項目
2. CentOS 按照默認環境安裝時,未安裝
ActiveTcl
8.5以上版本,所以在驗證Redis是否編譯正確時需要自行安裝。
3. yum list xxxx 可以檢測並列出資源庫中是否有提供可安裝的xxxx的安裝包及版本號
四、待解決的問題
1. 在將Redis配置成自啟動腳本后,突然發現CentOS進入不了圖形界面了,最后加載的進度條就停留在最右邊。
此時用SSH客戶端連接CentOS卻一切正常,非常奇怪,目前未找到原因和解決辦法。
解決辦法:當天晚上經仔細回憶操作過程,終於發現該問題出現於何處:redis.conf 配置文件里面的daemonize no 沒有改成 daemonize yes。修改成 yes后,問題解決。