node连接服务器redis失败问题
前段时间总结了使用 elysia 出现的 redis 连接失败问题, 但是现在出现了一个问题,之前是我本地远程连接服务器去调试的,但是现在在服务器上出现了循环重新连接的问题。
当我访问https://api.wangxiaoze.cn/ai/random
接口时,会出现循环重新连接的问题,导致接口响应时间变长, 最后出现502
问题。
因为我使用的docker + 1panel
部署在服务器上的,所以每个项目都是使用docker
进行项目打包的。当我吧elysiajs
项目部署在 docker 上,然后使用docker ps
查看运行的容器,使用docker logs xxxx
查看对应的日志,发现redis
连接失败了。然后我使用桌面端的工具重新连接发现是可以连接上去的。
看来不是redis
的问题,而我重新将redis
的 ip 地址配置到docker
中,重新进行部署发现还是不行,出现了连接超时的问题。
起初我还以为是代码的问题,重新检查了一下代码,发现代码并没有任何问题。
后来再去检查服务器的redis
配置,发现redis
的配置文件中bind
的 ip 也是正确的,重启之后还是老样子。
我又去检查了一下系统的防火墙,最后发现redis
的端口被限制了,没有放开,导致连接超时的问题。
解决办法就是将redis
的端口放开,然后重启redis
即可。
然后我再次访问https://api.wangxiaoze.cn/ai/random
接口,发现接口正常返回了数据,没有出现循环重新连接的问题。
总结:
- 检查
redis
的配置文件,确认bind
的 ip 地址是否正确。 - 检查系统的防火墙,确认
redis
的端口是否被限制了。 - 放开
redis
的端口,然后重启redis
即可。