如何在Linux中配置Redis服務並設定為開機自啟
廢話不多說,咱們直接開始。
1、修改redis。conf配置檔案
配置
redis.conf中daemonize為yes
,確保守護程序開啟。
大概在148行,當然你也可以使用
:/daemonize
搜尋。
2、檢視原生的redis啟動指令碼
[root@kingdom ~]#
find / -name redis_init_script
/general-redis/redis-4.0/utils/redis_init_script
提示:
redis啟動指令碼一般在
redis根目錄的utils
(2)檢視指令碼
vim /general-redis/redis-4。0/utils/redis_init_script
提示:
注意以下標紅的這幾點。
因為我們下面的操作都是為它服務的。
其實就是把這些變數的值修改為我們自己redis的實際路徑和配置檔案。
補充一點:
大家可以多looklook人家的指令碼,可以學到不少東西。
3、複製指令碼redis_init_script
將redis_init_script複製到/etc/init。d/redis
這裡是為了將其配置為服務,方便管理。
[root@kingdom ~]#
cp /general-redis/redis-4.0/utils/redis_init_script /etc/init.d/redis
[root@kingdom ~]#
ll /etc/init.d/redis
-rwxr-xr-x 1 root root 1098 Sep 20 10:11 /etc/init。d/redis
4、 修改指令碼redis
注意:
這裡修改的是/etc/init。d/redis指令碼,它將在修改完後完全為我們服務。
vim /etc/init。d/redis
(1) 、新增如下圖兩行內容
# chkconfig: 2345 66 77
# description: redis service shell
關於為什麼這樣做,請參考在下之前的文章:
淺談Linux中透過chkconfig來設定服務開機自啟動
(2) 、修改server和cli路徑
檢視自己redis的server和cli絕對路徑
我的是這個/general-redis/redis4.0/bin
修改指令碼如下:
(3) 、建立配置檔案
原來的配置檔案CONF=“/etc/redis/${REDISPORT}。conf”,這裡的REDISPORT=6379。
即:
CONF的位置在/etc/redis/6379.conf
這裡我們可以和它保持一致,當然也可以自定位置。
我選擇前者。
補充:要是選擇後者需要指定CONF=你的配置檔案實際位置
在
/etc建立redis目錄
and將我們的
配置檔案cp到/etc/redis/
下。
[root@kingdom bin]#
mkdir /etc/redis
[root@kingdom bin]#
cp /general-redis/redis4.0/etc/redis.conf /etc/redis/6379.conf
[root@kingdom bin]# ll /etc/redis/6379。conf
-rw-r——r—— 1 root root 58882 Sep 20 10:34 /etc/redis/6379。conf
別忘把
redis指令碼:wq儲存退出
。
最後補充一點:
如果你的redis設定了密碼,stop時需要cli客戶端
指定密碼登入來進行執行shutdown命令
。
如下圖:
$CLIEXEC -p $REDISPORT
-a 123456
shutdown
5、 測試指令碼
ps -ef | grep redis*
service redis start
service redis stop
6、 設定為開機啟動
[root@kingdom ~]# chkconfig redis on
[root@kingdom ~]# chkconfig ——list
測試完成,感謝大家支援。
7、補充
Redis指令碼內容如下所示,或者大家可以留言。
#!/bin/sh
# chkconfig: 2345 66 77
# description: redis service shell
# Simple Redis init。d script conceived to work on Linux systems
# as it does use of the /proc filesystem。
REDISPORT=6379
EXEC=/general-redis/redis4。0/bin/redis-server
CLIEXEC=/general-redis/redis4。0/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