在《Redis探索之旅(3)- 在Windows下將Redis注冊成本地服務(wù)》我們講述了如何在Windows下的操作方法,在這篇文章中,我們看看在Linux下如何操作。
我們按照下面的步驟一步一步來。
(1)將Redis目錄下的初始化腳本拷貝到/etc/rc.d/init.d目錄;
redis的初始化腳本目錄為:/usr/local/src/redis/utils/redis_init_script
將這個目錄拷貝到目標(biāo)目錄,同時將文件夾名稱進(jìn)行修改:
[javascript]view plaincopy
cp?/usr/local/src/redis/utils/redis_init_script?/etc/rc.d/init.d/redis
然后添加注冊服務(wù),如下所示:
[javascript]view plaincopy
chkconfig?--add?redis
執(zhí)行后,可能你會遇到下面的錯誤:
[javascript]view plaincopy
redis服務(wù)不支持chkconfig
因此,我們還需要對初始化腳本做一些修改。
(2)修改腳本
我們首先打開redis腳本,修改后內(nèi)容如下:
[javascript]view plaincopy
#!/bin/sh
#chkconfig:?2345?80?90
#?Simple?Redis?init.d?script?conceived?to?work?on?Linux?systems
#?as?it?does?use?of?the?/proc?filesystem.
REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.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
;;
stop)
if[?!?-f?$PIDFILE?]
then
echo"$PIDFILE?does?not?exist,?process?is?not?running"
else
PID=$(cat?$PIDFILE)
echo"Stopping?..."
$CLIEXEC?-p?$REDISPORT?shutdown
while[?-x?/proc/${PID}?]
do
echo"Waiting?for?Redis?to?shutdown?..."
sleep?1
done
echo"Redis?stopped"
fi
;;
*)
echo"Please?use?start?or?stop?as?first?argument"
;;
esac
腳本的修改地方主要涉及以下幾個地方:
(a)第二行增加如下內(nèi)容
[javascript]view plaincopy
#chkconfig:?2345?80?90
(b)原腳本EXEC和CLIEXEC的值因為目錄不同而有所修改
[javascript]view plaincopy
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
(c)redis啟動的命令改為以后臺方式啟動
[javascript]view plaincopy
$EXEC?$CONF?&
(d)將redis配置文件拷貝到/etc/redis/端口ID.conf,如下所示:
[javascript]view plaincopy
mkdir?/etc/redis
cp?/usr/local/src/redis/redis.conf?/etc/redis/6379.conf
默認(rèn)情況下,redis啟動時不啟用鑒權(quán)認(rèn)證,如果有需要,可以在配置文件中進(jìn)行設(shè)置requirepass參數(shù)。
通過上面的腳本修改后,我們可以再次使用下面的命令進(jìn)行注冊服務(wù):
[javascript]view plaincopy
chkconfig?--add?redis
注冊成功后,然后就是啟動服務(wù)了,如下所示:
[javascript]view plaincopy
service?redis?start
至此,單實例redis服務(wù)便啟動起來了。
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。互聯(lián)網(wǎng)+時代,時刻要保持學(xué)習(xí),攜手千鋒PHP,Dream It Possible。