使用Java远程连接阿里云远程服务器上的Redis时突然出现Could not get a resource from the pool问题,报错原因是不能连接到Redis
1首先检查Redis服务是否开启
ps -ef | grep redis
Redis已经在运行
2检查服务器端口是否打开
firewall-cmd --list-ports
显示已经打开
3检查阿里云安全组是否配置
已经配置
4检查redis配置文件
vim redis.conf
/bind 搜索,已经注释#bind 127.0.0.1
/protucted-mode,已经将protected-mode yes改成no
到这里,理论上所有的步骤已经完成,网上找了很多的解决方案,也都八九不离十都是这样的步骤,但是依然连接失败
5尝试将防火墙关闭
service firewalld stop
测试连接成功
但是之前已经检查过不是端口的问题,为什么将防火墙关闭后就成功了?
6尝试将防火墙启动
service firewalld start
依然测试连接成功
7总结
总的来说引发问题的是阿里云服务器的防火墙出了问题,该做的步骤都做完的话,只需将防火墙重启即可。阿里云服务器的一个小问题,并不容易发现,花了一个早上时间来解决,很多步骤都尝试了,甚至怀疑是版本更新后依赖不匹配的问题,而更换了依赖的版本,但最后只是重启防火墙的一个小操作就解决了问题,确实是一个大坑。