Redis連接被拒絕(Connection?refused)問(wèn)題的完整解決指南
問(wèn)題現(xiàn)象
當(dāng)嘗試連接Redis時(shí)出現(xiàn)以下錯(cuò)誤:
Could not connect to Redis at 192.168.1.48:6379: Connection refused
問(wèn)題診斷流程
1. 基礎(chǔ)狀態(tài)檢查
# 檢查Redis服務(wù)狀態(tài) systemctl status redis # 檢查Redis是否安裝 redis-server --version redis-cli --version which redis-server # 檢查Redis進(jìn)程 ps aux | grep redis pgrep -lf redis # 檢查端口監(jiān)聽(tīng)狀態(tài) netstat -tlnp | grep 6379 ss -tlnp | grep 6379
2. 連接測(cè)試
# 本地連接測(cè)試 redis-cli ping # 遠(yuǎn)程連接測(cè)試 redis-cli -h 目標(biāo)IP ping
常見(jiàn)原因及解決方案
情況一:Redis服務(wù)未安裝
癥狀:redis-server --version命令無(wú)輸出
解決方案:
# Ubuntu/Debian sudo apt update && sudo apt install redis-server # CentOS/RHEL sudo yum install redis # 或 sudo dnf install redis
情況二:Redis服務(wù)未啟動(dòng)
癥狀:服務(wù)已安裝但進(jìn)程不存在
解決方案:
# 臨時(shí)啟動(dòng)Redis redis-server --daemonize yes # 或使用配置文件啟動(dòng) redis-server /etc/redis/redis.conf # 創(chuàng)建系統(tǒng)服務(wù)(推薦) sudo systemctl enable redis sudo systemctl start redis
情況三:配置限制
癥狀:本地可連接,遠(yuǎn)程無(wú)法連接
解決方案:
編輯Redis配置文件 /etc/redis/redis.conf:
# 允許遠(yuǎn)程連接 bind 0.0.0.0 # 關(guān)閉保護(hù)模式(測(cè)試環(huán)境) protected-mode no # 設(shè)置密碼(可選) requirepass yourpassword # 后臺(tái)運(yùn)行 daemonize yes
重啟服務(wù)使配置生效:
sudo systemctl restart redis # 或 pkill redis-server && redis-server /etc/redis/redis.conf
情況四:防火墻阻擋
癥狀:服務(wù)運(yùn)行正常但無(wú)法連接
解決方案:
# 檢查防火墻狀態(tài) sudo ufw status sudo iptables -L # 開(kāi)放Redis端口 sudo ufw allow 6379 # 或 sudo iptables -A INPUT -p tcp --dport 6379 -j ACCEPT # 永久保存iptables規(guī)則 sudo service iptables save # CentOS # 或安裝iptables-persistent (Ubuntu/Debian)
情況五:服務(wù)配置問(wèn)題
創(chuàng)建完整的systemd服務(wù)文件:
sudo cat > /etc/systemd/system/redis.service << EOF [Unit] Description=Redis In-Memory Data Store After=network.target [Service] Type=forking ExecStart=/usr/bin/redis-server /etc/redis/redis.conf ExecStop=/usr/bin/redis-cli shutdown Restart=always User=redis Group=redis RuntimeDirectory=redis RuntimeDirectoryMode=0755 [Install] WantedBy=multi-user.target EOF
啟用服務(wù):
sudo systemctl daemon-reload sudo systemctl enable redis sudo systemctl start redis
高級(jí)排查技巧
1. 查看Redis日志
# 查看系統(tǒng)日志 sudo journalctl -u redis # 或查看Redis日志文件 sudo tail -f /var/log/redis/redis-server.log
2. 檢查資源限制
# 檢查內(nèi)存 free -h # 檢查磁盤(pán)空間 df -h # 檢查文件描述符限制 ulimit -n
3. 網(wǎng)絡(luò)診斷
# 測(cè)試端口連通性 telnet 目標(biāo)IP 6379 nc -zv 目標(biāo)IP 6379 # 檢查端口占用 sudo lsof -i :6379
4. 配置驗(yàn)證
# 檢查配置文件語(yǔ)法 redis-check-rdb /etc/redis/redis.conf # 測(cè)試配置 redis-server /etc/redis/redis.conf --test
安全配置建議
1. 生產(chǎn)環(huán)境安全設(shè)置
# 在redis.conf中設(shè)置 requirepass 強(qiáng)密碼 rename-command FLUSHALL "" rename-command CONFIG "" bind 指定IP地址 port 自定義端口
2. 網(wǎng)絡(luò)隔離
# 使用防火墻限制訪問(wèn)IP sudo ufw allow from 信任IP to any port 6379 # 或使用iptables sudo iptables -A INPUT -p tcp -s 信任IP --dport 6379 -j ACCEPT
自動(dòng)化監(jiān)控腳本
創(chuàng)建健康檢查腳本:
#!/bin/bash
REDIS_HOST="localhost"
REDIS_PORT="6379"
if redis-cli -h $REDIS_HOST -p $REDIS_PORT ping | grep -q "PONG"; then
echo "Redis is running"
exit 0
else
echo "Redis is down"
# 嘗試重啟
sudo systemctl restart redis
exit 1
fi
總結(jié)
Redis連接被拒絕問(wèn)題通常由以下原因引起:
- 服務(wù)未運(yùn)行 - 啟動(dòng)Redis服務(wù)
- 配置限制 - 修改綁定地址和保護(hù)模式
- 防火墻阻擋 - 開(kāi)放相應(yīng)端口
- 資源不足 - 檢查系統(tǒng)資源
通過(guò)系統(tǒng)化的診斷流程,可以快速定位并解決問(wèn)題。建議在生產(chǎn)環(huán)境中配置適當(dāng)?shù)谋O(jiān)控和告警機(jī)制,確保Redis服務(wù)的穩(wěn)定性。
記?。涸谛薷呐渲煤髣?wù)必重啟Redis服務(wù),并在生產(chǎn)環(huán)境中謹(jǐn)慎修改安全相關(guān)配置。

以上就是Redis連接被拒絕(Connection refused)問(wèn)題的完整解決指南的詳細(xì)內(nèi)容,更多關(guān)于Redis連接被拒絕的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Redis底層數(shù)據(jù)結(jié)構(gòu)詳解
這篇文章主要介紹了Redis底層數(shù)據(jù)結(jié)構(gòu),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08
解讀redis?slaveof命令執(zhí)行后為什么需要清庫(kù)重新同步
這篇文章主要介紹了redis?slaveof命令執(zhí)行后為什么需要清庫(kù)重新同步,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
redission分布式鎖防止重復(fù)初始化問(wèn)題
這篇文章主要介紹了redission分布式鎖防止重復(fù)初始化問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
如何發(fā)現(xiàn) Redis 中的 BigKey及什么是 BigKey
本文介紹Redis中BigKey的識(shí)別與處理,涵蓋使用redis-cli、RMA工具、慢查詢?nèi)罩镜确椒?以及拆分鍵、優(yōu)化邏輯、SCAN命令等策略,旨在提升Redis性能與穩(wěn)定性,感興趣的朋友跟隨小編一起看看吧2025-07-07
Redis并發(fā)訪問(wèn)問(wèn)題詳細(xì)講解
本文主要介紹了Redis如何應(yīng)對(duì)并發(fā)訪問(wèn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-12-12

