之前安裝好了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 指定一個驗證密碼。
注意:當指定密碼驗證的時候,使用service redis stop 會發生:(error) NOAUTH Authentication required. 的錯誤
解決方法:更改步驟3中的 $CLIEXEC-p $REDISPORT -a yourpassword shutdown 即可
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
# $CLIEXEC -p $REDISPORT -a yourpassword 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>