之前安裝好了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>