linux Redis 註冊服務

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章