springboot中连接linux虚拟机上的redis时,报错显示无法连接redis
org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis;
常规解决方法
先看看自己有没有启动redis服务器
通过修改redis安装目录下的redis.conf等相关配置
- 将protected-mode 修改为 no
- 注释掉 bind 127.0.0.1
这样redis就允许外部访问了
但是如果你已经成功设置这些配置,但你连接redis时依然报错的话,那么基本可以确实是你的虚拟机防火墙的问题了。
开启虚拟机的特定端口号
首先为了确认,外部网络是否可以正常连接linux虚拟机的redis,可以在本地cmd中输入以下代码
telnet 192.168.0.1(此处应为你的虚拟机的网址) 6379(redis端口号)
若出现以上,则你需要打开你的虚拟机的防火墙
在虚拟机中依次输入以下命令
1.查看防火墙的状态
firewall-cmd --state
2.将特定的端口设置为开放
firewall-cmd --permanent --add-port=6379/tcp
3.查看防火墙的开放的端口
firewall-cmd --permanent --list-ports
若出现了6379则证明你已成功
4.重启防火墙
firewall-cmd --reload
完成后,记得重启redis服务器
这时候再到本机cmd中输入
telnet 192.168.0.1 6379
框中什么都没有,视为成功。
最后,记得重启springboot,就可以看到能够成功连接redis了。
本文参考:
https://justinneil.blog.csdn.net/article/details/99302431?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-99302431-blog-121553196.pc_relevant_layerdownloadsortv1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-99302431-blog-121553196.pc_relevant_layerdownloadsortv1&utm_relevant_index=2