之前安裝好了Redis服務之後,每次開啟與關閉都需要去redis目錄下去運行指令碼,相當的繁瑣,於是試著將redis的註冊成系統服務,如此便可以方便的對其進行各種操作,以下為具體的註冊服務配置:
將Redis做成一個服務 service
1.複製redis init指令碼到/etc/rc.d/init.d目錄
按以上步驟預設安裝Redis時,其服務指令碼位於:
/usr/software/redis/redis-3.0.1/utils/redis_init_script
必須將其複製到/etc/rc.d/init.d的目錄下,同時易名為redis:
cp /usr/software/redis/redis-3.0.1/utils/redis_init_script /etc/rc.d/init.d/redis
2.將redis設定檔拷貝到/etc/redis/目錄下:
mkdir /etc/redis
cp /usr/software/redis/redis-3.0.1 /redis.conf /etc/redis/6379.conf
這樣下面3中redis服務指令碼需要指定的CONF就存在了。預設情況下,Redis未啟用認證,可以通過開啟6379.conf的requirepass 指定一個驗證密碼。
3.更改redis的服務指令碼
vi /etc/rc.d/init.d/redis
#!/bin/sh
#chkconfig: 2345 8090
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
REDISPORT=6379
EXEC=/usr/software/redis/redis-3.0.1/src/redis-server
CLIEXEC=/usr/software/redis/redis-3.0.1/src/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/etc/redis/6379.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 ..."
sleep1
done
echo"Redis stopped"
fi
;;
*)
echo "Pleaseuse start or stop as first argument"
;;
esac
註:以上紅色標準部分為修改的指令碼:
1)原檔案是沒有以下第2行的內容的,
引用#chkconfig: 2345 80 90
2)更改EXEC、CLIEXEC、PIDFILE、CONF參數,設定對應的目錄值,如上所示即和前面安裝的一致。
3)更改redis開啟的命令,以後台啟動並執行方式執行:
$EXEC $CONF &
注意後面的那個“&”,即是將服務轉到後面啟動並執行意思,否則啟動服務時,Redis服務將
佔據在前台,佔用了主使用者介面,造成其它的命令執行不了。
4.更改redis的服務指令碼
以上操作完成後,即可註冊服務:
chkconfig --add redis
$ service redis start
Starting Redis server...
$ ps -ef | grep redis
root 1269 1 009:59 ? 00:00:00/usr/software/redis/redis-3.0.1/src/redis-server *:6379
$ service redis stop
Stopping ...
Redis stopped
1.1 命令配置
將Redis的命令所在目錄添加到系統參數PATH中
1)修改profile檔案:
$ vi /etc/profile
在最後行添加:
exportPATH="$PATH:/usr/software/redis/redis-3.0.1/src"
2)然後應用這個檔案:
$ ./etc/profile
3)這樣就可以直接調用redis-cli的命令了,如下所示:
$ redis-cli
127.0.0.1:6379>