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
复制代码

 

这是再次使用停止服务命令,正常执行无报错。

 

 

posted @   fsl  阅读(3097)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
历史上的今天:
2011-06-21 ASP.NET 如何获取地址栏URL地址
点击右上角即可分享
微信分享提示