Redis远程连接怎么弄?一步步教你搞定远程访问和配置问题
- 问答
- 2026-01-14 15:14:42
- 1
Redis为了安全起见,默认设置是只允许本机访问,也就是只有安装Redis的那台电脑自己才能连接上,这就像是你的家门,默认只从里面反锁,外面的人用钥匙也打不开,我们要做的就是把“门”打开,并告诉Redis允许来自网络的连接。
这个过程主要分为两大步:第一步是在Redis服务器上进行配置,第二步是在你的本地电脑或应用程序中进行连接,下面我们一步步来。
第一步:在服务器上配置Redis(关键步骤)
这一步是所有操作的基础,如果这里没配好,后面怎么连都是失败的,你需要有权限去修改服务器上的Redis配置文件。
-
找到配置文件: Redis的配置文件通常名字叫
redis.conf,它所在的位置因你的安装方式不同而不同。
- 如果你是Linux系统通过包管理器(比如apt-get或yum)安装的,它可能在
/etc/redis/redis.conf。 - 如果你是手动编译安装的,它可能在Redis解压目录的根目录下。
- 如果找不到,可以用命令
find / -name redis.conf来搜索。
- 如果你是Linux系统通过包管理器(比如apt-get或yum)安装的,它可能在
-
备份配置文件(好习惯): 在修改任何重要配置之前,先备份总是一个好习惯,你可以执行命令:
cp /etc/redis/redis.conf /etc/redis/redis.conf.bak,这样万一改错了,还能恢复。 -
修改关键配置: 用你熟悉的文本编辑器(如vim、nano)打开
redis.conf文件,我们需要修改两个最重要的设置。-
绑定IP(最关键的设置): 找到一行叫做
bind的配置,默认它可能是bind 127.0.0.1或者bind 127.0.0.1 ::1,这行配置的意思是只允许本机IPv4和IPv6的回环地址连接。 你要做的是:- 方法一(允许任何IP连接,不太安全但简单):直接将这一行注释掉,在行首加一个 号,变成
# bind 127.0.0.1 ::1。 - 方法二(推荐,更安全):将IP改为
0.0.0,意思是允许所有网络接口的连接,即bind 0.0.0.0,或者,你也可以绑定服务器具体的公网IP地址。
- 方法一(允许任何IP连接,不太安全但简单):直接将这一行注释掉,在行首加一个 号,变成
-
关闭保护模式: 找到
protected-mode这个配置项,默认是yes,当没有设置密码且bind选项没有指定其他IP时,保护模式会生效,拒绝外部连接,因为我们修改了bind,但为了确保万一,最好把它设为no,即protected-mode no。
-
设置访问密码(强烈建议): 允许远程连接后,安全风险大大增加,所以设置一个密码是非常必要的,找到
requirepass配置项,默认是被注释的,你取消注释,并在后面设置一个强密码,requirepass YourSuperStrongPassword123!,请务必把这个密码记好。
-
-
重启Redis服务: 修改完配置后,必须重启Redis服务才能使新配置生效,根据你的操作系统,重启命令可能不同。
- 对于使用systemd的系统(如CentOS 7+, Ubuntu 16.04+):
sudo systemctl restart redis或sudo systemctl restart redis-server。 - 对于使用init.d的老系统:
sudo service redis-server restart。
- 对于使用systemd的系统(如CentOS 7+, Ubuntu 16.04+):
-
开放服务器防火墙端口: Redis默认使用6379端口,你需要在服务器的防火墙规则中开放这个端口。
- 如果使用iptables:
sudo iptables -A INPUT -p tcp --dport 6379 -j ACCEPT,然后保存规则。 - 如果使用firewalld(CentOS/RHEL):
sudo firewall-cmd --permanent --add-port=6379/tcp,sudo firewall-cmd --reload。 - 如果使用云服务器(如阿里云、腾讯云),你还需要登录云服务商的管理控制台,在安全组规则中添加入站规则,允许6379端口。
- 如果使用iptables:
第二步:在本地进行连接测试

服务器端配置好后,你就可以在本地电脑上尝试连接了。
-
使用Redis命令行客户端连接: 如果你本地也安装了Redis,可以在终端或命令提示符中使用
redis-cli命令连接。 连接命令是:redis-cli -h your_server_ip -p 6379 -a YourSuperStrongPassword123!-h后面填你的服务器公网IP地址。-p后面是端口,默认6379,如果没改就不用动。-a后面就是你刚才设置的密码。 如果连接成功,你会看到命令提示符变成your_server_ip:6379>,这时你可以试一下ping命令,如果返回PONG,那就恭喜你,连接成功了!
-
在程序代码中连接: 在你的应用程序中连接方式也类似,只是语法因编程语言而异,核心要素同样是:主机IP、端口、密码。
- Python(使用redis-py库)示例:
import redis r = redis.Redis(host='your_server_ip', port=6379, password='YourSuperStrongPassword123!', decode_responses=True) r.set('foo', 'bar') value = r.get('foo') print(value) # 会输出 'bar' - Java(使用Jedis库)示例:
Jedis jedis = new Jedis("your_server_ip", 6379); jedis.auth("YourSuperStrongPassword123!"); jedis.set("foo", "bar"); String value = jedis.get("foo"); System.out.println(value); // 会输出 "bar"
- Python(使用redis-py库)示例:
可能遇到的问题和排查方法
- 连接被拒绝:检查服务器防火墙和云服务商安全组是否真的开放了6379端口,可以用
telnet your_server_ip 6379命令测试端口通不通。 - 认证失败:百分百确认密码是否正确,是否在配置文件中设置成功,重启Redis服务了吗?
- 还是连不上:回头再仔细检查
redis.conf文件,bind和protected-mode这两个设置是否严格按照上面的要求改了。
就是配置Redis远程连接的全部核心步骤,安全第一,密码一定要设得复杂一些,并且定期更换,如果只是临时测试,用完后记得把配置改回去或者关闭防火墙端口。
本文由颜泰平于2026-01-14发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:https://haoid.cn/wenda/80617.html
