无法从Windows命令提示符连接WSL Ubuntu中的Redis服务器
解决Windows连接WSL Ubuntu中Redis的问题
首先纠正一个误区:ping命令不能带端口,它基于ICMP协议工作,不识别端口号,所以ping 172.29.0.1:6379本身就是错误用法,出现找不到主机的提示是正常的。
要让Windows连接WSL里的Redis,需要完成以下步骤:
1. 修改Redis配置,允许外部访问
Redis默认仅绑定本地回环地址(127.0.0.1),禁止外部连接,需要修改配置文件:
- 打开Redis配置文件:
sudo nano /etc/redis/redis.conf - 找到
bind 127.0.0.1 ::1这一行,修改为bind 0.0.0.0(允许所有IP访问),或者直接在行首加#注释掉这一行。 - 找到
protected-mode yes,修改为protected-mode no(关闭保护模式,允许非本地连接)。
2. 重启Redis服务使配置生效
sudo service redis-server restart
3. 验证WSL内的Redis绑定状态
在WSL终端执行以下命令,确认Redis能通过WSL的IP访问:
redis-cli -h 172.29.0.1 ping
如果返回PONG,说明配置生效。
4. Windows端连接Redis
- 使用Windows版redis-cli:如果已安装,在CMD或PowerShell中执行:
输入redis-cli -h 172.29.0.1 -p 6379ping,返回PONG即为连接成功。 - 使用图形化客户端:比如Redis Desktop Manager,新建连接时填入WSL的IP(172.29.0.1)和端口6379,即可连接。
注意事项
WSL的IP地址可能在重启WSL或Windows后发生变化,每次连接前可以在WSL终端用ip addr show eth0命令查看当前IP(找到inet字段后的地址)。
内容的提问来源于stack exchange,提问作者S7H
相关产品推荐
相关产品推荐

