Redis服務停止報錯解決方案[NOAUTH Authentication required]

 centos 服務器 安裝redis後 啓用外網連接

給redis.conf 文件修改參數

//綁定外網 如果是指定ip連接 可以使用空格隔開多個ip   bind 127.0.0.1 192.168.3.3

bind 0.0.0.0         
#bind 127.0.0.1
//使用密碼連接

requirepass newpassword

protected-mode no

修改完成後使用如下命令啓動服務
redis-server    ../etc/redis.conf 

這時服務可以正常啓動,但是使用service redis stop  停止服務是報錯 NOAUTH Authentication required  
這是查看服務依然運行中

[root]# ps -ef|grep redis
root 6977 1 0 09:48 ? 00:00:00 /usr/local/redis/bin/redis-server 0.0.0.0:6379
root 7025 6865 0 10:03 pts/0 00:00:00 grep --color=auto redis
[root]# pgrep redis
6977

這些修改按如下標紅處增加密碼變量 並再停止服務時 增加指定密碼的參數 -a $RedisPwd

vim /etc/init.d/redis 

 1 REDISPORT=6379
 2 EXEC=/usr/local/redis/bin/redis-server
 3 REDIS_CLI=/usr/local/redis/bin/redis-cli
 4    
 5 PIDFILE=/var/run/redis.pid
 6 CONF="/usr/local/redis/etc/redis.conf"
 7 RedisPwd=newpassword 
8
9 case "$1" in 10 start) 11 if [ -f "$PIDFILE" ]; then 12 echo "$PIDFILE exists, process is already running or crashed" 13 else 14 echo -n "Starting Redis server..." 15 $EXEC $CONF 16 if [ "$?"="0" ]; then 17 echo " done" 18 else 19 echo " failed" 20 fi 21 fi 22 ;; 23 stop) 24 if [ ! -f "$PIDFILE" ]; then 25 echo "$PIDFILE does not exist, process is not running" 26 else 27 PID=$(cat $PIDFILE) 28 echo "Stopping Redis server..." 29 $REDIS_CLI -a $RedisPwd -p $REDISPORT shutdown 30 if [ "$?"="0" ]; then 31 echo " done" 32 else 33 echo " failed" 34 fi 35 fi 36 ;; 37 restart) 38 ${0} stop 39 ${0} start 40 ;; 41 kill) 42 echo "force kill redis server..." 43 killall redis-server 44 if [ "$?"="0" ]; then 45 echo " done" 46 else 47 echo " failed" 48 fi 49 ;; 50 status) 51 if [ -f "$PIDFILE" ]; then 52 echo "Redis server is running." 53 else 54 echo "Redis server is stopped." 55 fi 56 ;; 57 *) 58 echo "Usage: /etc/init.d/redis {start|stop|restart|status|kill}" >&2 59 exit 1 60 esac

 

這是再次使用停止服務命令,正常執行無報錯。

 

 

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