服务器的Redis连接不上解决方案
看了网上很多解决方案,都是端口问题,将127.0.0.1改为0.0.0.0,就ok了,但是本人的问题不是端口问题,端口本来就是0.0.0.0。
其实redis无法连接数据库就只有这几种可能,防火墙,安全组,密码,绑定IP。这次的问题感觉还是比较让人费解的,当更换端口号的时候就可以,默认端口6379就是不行。
按照顺序依次检查了防火墙,安全组,密码,配置文件,都确认没有问题之后,再次启动redis,依然是服务器可以访问,本地telnet都无法连接。这个问题很像是防火墙和绑定IP的原因。
所以我再次检查firewall防火墙(firewall-cmd --state)和iptables(service iptables status)防火墙,首先看到的是firewall防火墙是没有运行的
,再去检查iptables防火墙的状态
这句话的意思是,找不到iptables,那就是因为系统版本的原因,已经由firewall防火墙接管了。那自然
也就不再考虑是因为防火墙的原因,导致无法连接服务器。但是蛋疼的事就在这里,当使用iptables -L -n查看已设置的iptables规则,它竟然存在安全组规则,脑子都凌乱了。
上边结果显示范围内的端口号都只能本地访问,6379自然也就不能被访问到了。知道原因就好办了,直接使用
iptables -F
1
将这些规则都清楚掉,再次使用
iptables -L -n
1
查看,规则都不存在了,使用telnet测试服务器端口号,也可以正常连接了。这里面个人最不能理解的地方就是为什么iptables 防火墙不存在,竟然还存在它的规则。