潍坊做电商的网站建设,wordpress 特效主题,企业邮箱格式怎么写才正确,宁波专业的网站建设团队背景 小程序的发短信服务挂了#xff0c;随查看日志#xff0c;该报错日志如下 Error 111 connecting to 127.0.0.1:6379. Connection refused. 6379是监听redis服务的端口#xff0c;那大概是redis出错了。 首先查看了redis是否正常启动#xff0c;检查出服务正常。 由于小… 背景 小程序的发短信服务挂了随查看日志该报错日志如下 Error 111 connecting to 127.0.0.1:6379. Connection refused. 6379是监听redis服务的端口那大概是redis出错了。 首先查看了redis是否正常启动检查出服务正常。 由于小程序是部署在docker内而redis是安装在宿主主机内。 于是简单写了个demo测试是否能连接redis
import redistry:# 创建Redis连接r redis.Redis(host127.0.0.1, port6379)# 测试连接response r.ping()if response:print(成功连接到Redis服务器)else:print(无法连接到Redis服务器)except redis.exceptions.ConnectionError as e:print(连接错误:, str(e))
结果显示,在容器外可以正常连接redis但是在容器内无法连接容器 这个原因大概是我们可以简单把docker当作是一个虚拟机容器内外是两套系统。 那知道了原因解决起来就比较迅速了。 首先找到docker的虚拟IP 通过命令ifconfig 把这个虚拟IP加入到redis配置中 找到redis.config 然后修改如下地方 找到bind 127.0.0.1这一行修改如下
bind 127.0.0.1 172.17.0.1修改保护模式 protected-mode 设置为no 这个保护模式可能会不生效报错结果如下 那么则进入redis中修改保护模式把保护模式设置为No即可
另连接redis时需要用docker的虚拟IP