没问题,请提供您需要摘要的内容,我会立即为您生成一段100-200字的摘要。
Ubuntu Redis 远程连接失败排查指南:从配置到防火墙
在使用 Ubuntu 服务器部署 Redis 时,很多开发者会遇到“远程连接不上”的问题,明明服务已经启动,但在本地或另一台机器上尝试连接时却报错,这通常不是 Redis 没有运行,而是配置、防火墙或网络策略导致的。
本文将详细列出排查步骤,帮助你快速定位并解决 Ubuntu Redis 无法远程连接的问题。

第一步:检查 Redis 服务状态
我们需要确认 Redis 服务是否真的在运行。
打开终端,输入以下命令检查服务状态:
sudo systemctl status redissudo systemctl status redis-server
- 如果显示
active (running):服务正常,问题可能在配置或防火墙。 - 如果显示
inactive (dead):你需要启动它,输入sudo systemctl start redis。
第二步:检查绑定地址 —— 最常见原因
Redis 默认只监听本地回环地址(127.0.0.1),这意味着它只接受来自服务器本地的连接,如果你从远程连接,Redis 会直接忽略该请求。
-
使用编辑器打开配置文件:
sudo nano /etc/redis/redis.conf
-
找到
bind这一行,默认通常是:bind 127.0.0.1
-
修改为允许所有 IP 连接(不推荐生产环境直接使用 0.0.0.0,除非配合强密码):
bind 0.0.0.0
或者,如果你只想允许特定 IP 连接,可以改为:
bind 127.0.0.1 你的服务器公网IP
-
修改完成后,必须重启 Redis 服务才能生效:
sudo systemctl restart redis
第三步:检查防火墙设置
即使 Redis 绑定了正确的 IP,Ubuntu 自带的防火墙(UFW)也可能阻止外部访问 6379 端口。
-
检查防火墙状态:
sudo ufw status
-
如果状态是
active,需要开放 6379 端口:sudo ufw allow 6379
-
重启防火墙(通常不需要,但为了确保生效):
sudo ufw reload
第四步:检查云服务商安全组
如果你使用的是云服务器(如阿里云、腾讯云、AWS、DigitalOcean 等),仅仅开放了 Ubuntu 内部的防火墙是不够的,你还需要在云控制台的安全组规则中,允许入站流量访问 TCP 端口 6379。
- 操作:进入控制台 -> 安全组 -> 入站规则 -> 添加规则 -> 端口:6379 -> 协议:TCP -> 来源:0.0.0.0/0 (或限制特定 IP)。
第五步:检查保护模式与密码
Redis 绑定了 0.0.0.0 但依然连不上,可能是开启了“保护模式”。
- 在
/etc/redis/redis.conf中找到protected-mode。 - 确保它被设置为
yes(默认)或no。 - 重要:为了安全起见,建议配置密码,在配置文件中找到
requirepass,取消注释并设置一个强密码,如果未设置密码且 Redis 绑定了公网 IP,它可能会拒绝非本地连接。
第六步:测试连接
配置修改完成后,使用 telnet 或 nc(netcat)测试端口是否通:
telnet 你的服务器IP 6379
如果连接成功,你会看到 Connected to ... 的提示,随后可以使用 redis-cli 命令进行连接测试:
redis-cli -h 你的服务器IP -p 6379
Ubuntu Redis 远程连接不上的原因通常集中在三点:
- 配置错误:
bind没有配置为0.0.0。 - 防火墙阻挡:Ubuntu UFW 或云服务器

