Redis客户端连不上?可以通过以下方法排查,亲测可用!

最近在部署 Redis 的时候,遇到了一个看似简单却卡了我半天的小问题 ------ Redis 客户端怎么也连不上服务端报Can't connect to redis-server.。最终通过一系列排查和配置,成功解决。为了不让大家踩同样的坑,特此记录一下整个排查过程和解决方案,希望对你有帮助!

🧩 问题背景

  • 本机 IP192.168.1.1
  • Redis 服务端 IP192.168.1.2
  • Redis 已正确安装,并运行在 6379端口
  • 可以 ping 通 Redis 所在服务器,也能用 SSH 工具远程登录,但就是 Redis 客户端连接不上

🧪 1. 检查 Redis 是否正在运行

在服务器上执行以下命令:

perl 复制代码
ps -ef | grep redis

输出类似如下信息即代表 Redis 正常运行:

bash 复制代码
xxx   2559340       1  0 14:11 ? 00:00:02 /data/.../redis-server *:6382

也可以通过 Redis 自带的 redis-cli 测试本地连通性:

bash 复制代码
./redis-cli -p 6379

如果本地能连通但远程不行,继续往下看。

🔍 2. 检查 Redis 配置文件 redis.conf

确认 Redis 是否绑定了正确的监听 IP 或允许外部访问。

重点检查两项配置:

perl 复制代码
bind 0.0.0.0     # 允许监听所有 IP(默认可能是 127.0.0.1)
protected-mode no   # 关闭保护模式,允许远程连接

修改完成后,记得重启 Redis:

bash 复制代码
./redis-server ./redis.conf

或者用你系统中对应的 service/systemctl 命令。

🔒 3. 检查服务器防火墙是否开放端口

很多时候连不上 Redis,是因为服务器防火墙没开放端口!

查看当前开放的端口:

css 复制代码
sudo firewall-cmd --list-all

输出示例:

yaml 复制代码
public (active)
  ports: 3306/tcp 9090/tcp ...

确认没有 6379?那就加上!

css 复制代码
bash
复制编辑
sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent
sudo firewall-cmd --reload

再次 --list-all 验证是否成功添加。

🧪 4. 使用 Telnet 或 Redis 客户端进行远程连接测试

可以使用如下命令测试连通性:

yaml 复制代码
telnet 192.168.1.2 6379

如果能连通,会出现如下提示:

erlang 复制代码
Trying 192.168.1.2...
Connected to 192.168.122.124.

或者直接用 redis-cli 进行远程连接:

css 复制代码
redis-cli -h 192.168.1.2 -p 6379

如果设置了密码,还需加上 -a 参数。


✅ 总结一下常见连不上 Redis 的原因

问题 排查方法
Redis 未运行 ps -efredis-cli 本地测试
redis.conf 配置不当 bindprotected-mode 设置
防火墙未开放端口 firewall-cmd 查看并添加端口
网络不通 pingtelnet 测试
Redis 设置了密码未输入 redis-cli -a 添加密码参数

🧠 小贴士

  • 不建议生产环境关闭 protected-mode,可以通过配置密码代替
  • 生产环境要设置访问控制,避免 Redis 被未授权访问
  • 使用 iptables 或云平台安全组时,也别忘了检查端口策略

亲测,这一套排查下来,Redis 远程连接基本都能搞定!

如果你也遇到了 Redis 连接不上,不妨试试这些方法。有问题欢迎评论区一起讨论哈 😊

相关推荐
间彧18 小时前
Windows Server,如何使用WSFC+nginx实现集群故障转移
后端
间彧18 小时前
Nginx + Keepalived 实现高可用集群(Linux下)
后端
间彧18 小时前
在Kubernetes中如何部署高可用的Nginx Ingress Controller?
后端
间彧18 小时前
Ribbon负载均衡器和Nginx负载均衡器有什么区别
后端
间彧19 小时前
Nacos详解与项目实战
后端
间彧19 小时前
nginx、网关Gateway、Nacos、多个服务实例之间的数据链路详解
后端
间彧19 小时前
Nacos与Eureka在性能上有哪些具体差异?
后端
间彧19 小时前
详解Nacos健康状态监测机制
后端
间彧19 小时前
如何利用Nacos实现配置的灰度发布?
后端
毕业设计制作和分享19 小时前
springboot159基于springboot框架开发的景区民宿预约系统的设计与实现
java·spring boot·后端