Redis停止服務時報錯Waiting for Redis to shutdown …解決方法

Redis安裝配置完成後,啓動過程非常簡單,執行命令/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf即可(在Linux裏一般執行 ./redis-server ../redis.conf)。停止Redis的最簡單的方法是在啓動實例的session中,直接使用Control-C命令。當然還可以通過客戶端來停止服務,如可以用shutdown來停止Redis實例,具體命令爲src/redis-cli shutdown。

Redis的三種啓動方式 
一、 直接啓動

啓動操作

1 #加上`&`號使redis以後臺程序方式運行
2 ./redis-server &

檢測操作

1、#檢測後臺進程是否存在
ps -ef |grep redis

2、#檢測6379端口是否在監聽
netstat -lntp | grep 6379

3、#使用`redis-cli`客戶端檢測連接是否正常
./redis-cli -h 127.0.0.1 -p 6379 -a 123456
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set key "hello world"
OK
127.0.0.1:6379> get key
"hello world"

停止操作

1.#使用客戶端
redis-cli shutdown
2.#因爲Redis可以妥善處理SIGTERM信號,所以直接kill -9也是可以的
kill -9 PID


二、通過指定配置文件啓動

配置文件

可爲Redis服務啓動指定配置文件,配置文件 redis.conf在Redis根目錄下。

1、#修改daemonize爲yes,即默認以後臺程序方式運行(還記得前面手動使用&號強制後臺運行嗎)。
daemonize no

2、#可修改默認監聽端口
port 6379

3、#修改生成默認日誌文件位置
logfile "/home/futeng/logs/redis.log"

4、#配置持久化文件存放位置
dir /home/futeng/data/redisData

啓動時指定配置文件

redis-server ./redis.conf
redis-cli -p 6380
其他啓停同 直接啓動 方式。配置文件是非常重要的配置工具,隨着使用的逐漸深入將顯得尤爲重要,推薦在一開始就使用配置文件。 
III. 使用Redis啓動腳本設置開機自啓動

啓動腳本
推薦在生產環境中使用啓動腳本方式啓動redis服務,啓動腳本redis_init_script
位於位於Redis的 /utils/ 目錄下。

1、#大致瀏覽下該啓動腳本,發現redis習慣性用監聽的端口名作爲配置文件等命名,我們後面也遵循這個約定。
2、#redis服務器監聽的端口
REDISPORT=6379
3、#服務端所處位置,在make install後默認存放與`/usr/local/bin/redis-server`,如果未make install則需要修改該路徑,下同。
EXEC=/usr/local/bin/redis-server
4、#客戶端位置
CLIEXEC=/usr/local/bin/redis-cli
5、#Redis的PID文件位置
PIDFILE=/var/run/redis_${REDISPORT}.pid
6、#配置文件位置,需要修改
CONF="/etc/redis/${REDISPORT}.conf"

配置環境
根據啓動腳本要求,將修改好的配置文件以端口爲名複製一份到指定目錄,需使用root用戶。
mkdir /etc/redis
cp redis.conf /etc/redis/6379.conf
2 將啓動腳本複製到/etc/init.d目錄下,本例將啓動腳本命名爲redisd(通常都以d結尾表示是後臺自啓動服務)。
p redis_init_script /etc/init.d/redisd

設置爲開機自啓動
此處直接配置開啓自啓動 chkconfig redisd on 
將報錯誤: service redisd does not support chkconfig 
參照 此篇文章 ,在啓動腳本開頭添加如下兩行註釋以修改其運行級別:

#!/bin/sh
# chkconfig:   2345 90 10
# description:  Redis is a persistent key-value database
#

再設置即可成功

redis基本操作

#設置爲開機自啓動服務器
chkconfig redisd on
#啓動服務
service redisd start
#關閉服務
service redisd stop

如果配置了安全認證停止redisd服務時報 
service redis stop 
Stopping … 
OK 
(error) NOAUTH Authentication required. 
Waiting for Redis to shutdown … 
Waiting for Redis to shutdown … 
Waiting for Redis to shutdown … 
Waiting for Redis to shutdown … 
Waiting for Redis to shutdown … 
Waiting for Redis to shutdown … 
Waiting for Redis to shutdown … 
Waiting for Redis to shutdown … 

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