Redis保护模式开启问题解决

今天上班时候,同事反馈我们负责的一个系统服务挂了,因为主负责人有事不在,我作为第二负责人(其实是刚来不久的新人)开始着手处理这个事情。

根据同事描述,看了一下对应的dubbo服务,显示"没有提供者",看了一下系统页面,也打不开了,以为只是常规的配置更改影响到了,我便重新打包上传、重启部署等待系统恢复;然而一二分钟过去了,dubbo服务迟迟没有动静,页面依旧打不开……怀疑是关联系统没有启动的原因,检查了一下关联系统正常,不放心,又重启了关联系统,问题依旧……


image.png

然后继续分析,我就查看日志文件,发现了这么一段话:

image.png
redis.clients.jedis.exceptions.JedisDataException: DENIED Redis is running in protected mode because protected mode is enabled

怀疑是Redis保护模式开启了,导致Redis连不上导致的,尝试用客户端连接,果然出现了超时。至此,原因算是找到了,知道了问题原因,便解决了问题的一半,何况这种开源软件真的良心,把解决方案都列出来了:
1)通过从服务器的同一主机连接到Redis,只需禁用保护模式从环回接口发送命令'CONFIG SET protected-mode no'正在运行,但如果您这样做,则无法通过互联网公开访问。使用CONFIG REWRITE使此更改成为永久更改。
2)或者,您可以通过编辑Redis配置文件并将保护模式选项设置为“no”来禁用保护模式,然后重新启动服务器。
3)如果您手动启动服务器进行测试,请使用“--protected-mode no”选项重新启动它。
4)设置绑定地址或验证密码。
参考了网上的一篇资料 解决使用jedis连接是报DENIED Redis is running in protected mode错误
顺便检查了一下相应的配置

  1. redis 时只能通过本地localhost (127.0.0.1)这个来链接,而不能用网络ip(192.168..)这个链接,问题然如果用网络ip 链接会报错误: 处于保护模式,只能本地链接,我们需要修改配置文件../redis.conf
# bind 127.0.0.1  这个已经注释

2.Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程

daemonize  yes   已经改为yes
  1. 将保护模式关闭
protected-mode no 

搞定上述步骤准备重启,关键的是 没反应应该是你启动服务端的时候没有带上配置文件
你配置好了,但要重新启动redis,如果还是报一样的错误,很可能是没有启动到配置文件,所以需要真正的和配置文件启动需要:

./redis-server redis.conf 

这样,启动成功!


image.png

最后,检查dubbo服务正常,刷新页面,页面终于正常显示。大功告成,记录下心得~


image.png

附上linux安装redis并在后台启动的链接

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,846评论 19 139
  • 000 001 002 003 005 006 008 009 010 011 012 015 017 018 0...
    彩蕴阅读 302评论 0 0
  • 1.时间 抓住时间的过去和未来,让故事内容得以延展,读者在这之中可以追溯根源也可以展望未来。 2.可信度 要是想让...
    持续学习持续成长阅读 307评论 1 1
  • 十五年了,我们仨。 “小卧车,嘀嘀嘀,马兰花开二十一,二八二五六,二八二五七,二八二九三十一……” 那时,我们一样...
    女小念阅读 371评论 0 1
  • 在现实与虚构之间 跳跃着不安之书 所有的灵魂全凭虚构 所有的躯壳都是行尸走肉 天空是虚构的 都去冒险吧 不用绳索去...
    租了五颗星阅读 344评论 1 4

友情链接更多精彩内容