? 1. 修改 Redis 配置文件
在 WSL 的 Redis 配置文件中,找到 redis.conf
或 /etc/redis/redis.conf
文件,編輯以下配置項:
?? 更新 bind
配置項
將 bind 127.0.0.1 ::1
修改為:
bind 0.0.0.0
這樣,Redis 將監聽所有的網絡接口,而不僅僅是本地回環地址。
?? 允許遠程連接
確保 protected-mode
設置為 no
:
protected-mode no
?? 修改 requirepass
(如果有密碼)
如果 Redis 設置了訪問密碼,確保你的客戶端使用了正確的密碼。
? 2. 重新啟動 Redis 服務
保存配置后,重啟 Redis 服務:
sudo systemctl restart redis
或者,如果使用的是手動啟動 Redis:
redis-server /etc/redis/redis.conf
? 3. 檢查防火墻配置
確保 Windows 防火墻 或其他防火墻沒有阻止 Redis 的端口 6379:
?? 在 PowerShell 中添加防火墻規則:
New-NetFirewallRule -DisplayName "Allow Redis" -Direction Inbound -Protocol TCP -LocalPort 6379 -Action Allow
? 4. 確認 Redis 是否監聽所有接口
在 WSL 中運行以下命令,確認 Redis 正在監聽 0.0.0.0:6379:
ss -tuln | grep 6379
你應該看到類似的輸出:
tcp LISTEN 0 128 0.0.0.0:6379 *:*
? 5. 在 Windows 客戶端測試連接
在 Windows 上的 Redis 客戶端 中,嘗試連接:
redis-cli -h <WSL_IP_ADDRESS> -p 6379
如果你的 WSL IP 地址是 192.168.1.100,命令應該是:
redis-cli -h 192.168.1.100 -p 6379
? 6. 獲取 WSL 的 IP 地址
在 WSL 中運行以下命令獲取 IP 地址:
hostname -I
🎯 最終檢查
- 確認
redis.conf
修改正確。 - 確認 Redis 在 0.0.0.0:6379 上監聽。
- 確認 防火墻 已放行 6379 端口。
- 使用 Windows 客戶端 測試連接。