在使用springboot部署项目时候遇redis无法连接,这是我项目升级到安全框架时候,使用redis存储用户信息的时候遇到的一个问题,就是服务器无法连接到redis,我这里做了一个小小的总结。总共有以下的可能性:
1、服务或宝塔(我这里使用的是宝塔进行的部署,如果是别的也差不多)端口号没有开放。
2、Springboot配置文件中Redis指定的ip地址,或密码与服务的redis服务不匹配。
3、服务器防火墙没有关闭。(我这里遇到的就是这个问题,找了半天才发现)
前面两个两个的问题比较简单,我这里不做过多的说明了,主要第三种情况做一个总结以及记录(该方法有服务器被别人养鱼的风险,‘智’取吧):
1、systemctl status firewalld 查看一下自己的防火墙有没有关闭,如下图,如果有active(runing)绿色说明则为开启状态
2、systemctl stop firewalld 关闭防火墙,这个为本次关闭,下次服务器重启自动开启防火墙
3、chkconfig iptables off 这个是永久闭关,等待下次手动关闭才进行关闭。
4、关闭之后可以再 systemctl status firewalld 看一下防火墙有没有关闭,注意:firewalld 防火墙命令会根据不同的系统而有所不同,我这里使用CentOS 7.4 64位。比如如果你们是CentOS7之前的版本使用iptables代替firewalld 即可
5、对redis配置文件进行修改,在liunx系统找redis.conf文件,说实话,我找不出来,我找了半天,最后发现如果是使用宝塔的话,在宝塔redis服务哪里已经把配置文件的接口留出来了,我哭死。
如上图找到redis配置文件,将bind127.0.0.1(这个有可能不是默认地址)注解掉,然后把下面那个protected-mode本来是yes改成no就行了。
点击保存!!!
重启redis!!!
重启前端服务,我这里还是php。
以上三个步骤一个不能少。最后成功访问。