出现redis client on error: error: connect econnrefused 47.100.xxx.xx:6379
错误,表明 redis 客户端无法连接到指定的 redis 服务器,可按以下步骤排查解决:
1. 检查 redis 服务器是否运行
操作:在 redis 服务器所在终端执行redis - cli ping
。
若返回 pong,说明 redis 服务运行正常,进入下一步;
若无响应,需启动 redis 服务(以常见系统为例):
linux(如 ubuntu/centos):sudo systemctl start redis
(或 redis - server 直接启动)。
2. 验证网络连接与端口开放
测试端口连通性:在客户端所在终端执行telnet 47.100.xx.xx 6379
。
若提示 connected,说明端口开放且网络通畅,进入下一步;
若提示连接失败,检查以下两项:
防火墙设置:
- linux 系统:使用
firewall - cmd --query - port=6379/tcp
检查端口是否开放,未开放则执行firewall - cmd --add - port=6379/tcp --permanent
开放端口,再重启防火墙firewall - cmd --reload
。 - 云服务器(如阿里云、腾讯云):检查安全组规则,确保 6379 端口(tcp)允许入站。
网络连通性:确认客户端与服务器间无网络隔离(如 vpn、代理干扰),可尝试ping 47.100.165.17
测试基础网络连通性。
3. 检查 redis 服务器配置
查看配置文件:找到 redis 配置文件(通常为/etc/redis/redis.conf
),确认以下内容:
- 端口:
port 6379
确保端口未被修改。 - 监听地址:若 bind 配置为
127.0.0.1
,表示仅允许本地连接。需改为bind 0.0.0.0
(允许所有地址访问)或指定允许的客户端 ip(如117.64.3.191
),修改后重启 redis 服务:
linux:sudo systemctl restart redis
。
4. 检查客户端连接配置
确认客户端代码中连接的 ip 和端口正确,例如(以 node.js 为例):
const redis = require('redis'); const client = redis.createclient({ host: '47.100.xxx.xx', port: 6379 });
若 redis 配置了密码,还需添加 password 参数:
const client = redis.createclient({ host: '47.100.xxx.xx', port: 6379, password: '你的 redis 密码' });
完成以上步骤后,重新运行客户端,若配置正确且网络正常,应能成功连接 redis 服务器。
到此这篇关于远程连接阿里云服务器上的redis报错的问题解决的文章就介绍到这了,更多相关redis远程连接阿里云报错内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
海报
123