首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

CentOS Redis 3.0.2 監聽多個 IP 配置:bind 多 IP 寫法與啟動失敗排查

     編輯:程式設計綜合問答

配置語法

# redis.conf
bind 10.10.11.11 10.11.11.12 10.10.11.13
# 或
bind 192.168.1.100 10.0.0.5

**語法正確**:`bind` 後跟空格分隔的 IP 列表,支援 IPv4/IPv6 混合。

啟動失敗常見原因與排查

  1. IP 不存在於本機網卡:`bind` 的 IP **必須已配置在本機介面上**(`ip addr show` 可見)。若 IP 是虛擬/漂移 IP,需先由 `keepalived`/`heartbeat` 掛載上才能啟動 Redis。
  2. 權限不足:非 root 啟動綁定 `< 1024` 埠口,或綁定非本機 IP 被內核拒絕。
  3. 配置檔編碼/隱形字元:`cat -A redis.conf` 檢查 `^M` (Windows 換行) 或不可見字元。
  4. SELinux/AppArmor 阻擋:`audit.log` 檢查 `avc: denied`,臨時 `setenforce 0` 驗證。
  5. 端口衝突:其他進程佔用 6379,`netstat -ntlp | grep 6379`。

標準排查流程

# 1. 前台啟動看詳細錯誤
redis-server /etc/redis.conf

# 2. 查看日誌 (若 daemonize yes)
tail -f /var/log/redis/redis.log

# 3. 檢查 IP 綁定狀態
ss -ntlp | grep redis
ip addr show | grep -E '10\.10\.11\.11|10\.11\.11\.12|10\.10\.11\.13'

生產環境最佳實踐

  • **僅綁定內網 IP**,**嚴禁 `bind 0.0.0.0` 或公網 IP**(除非有防火牆/安全組嚴格限制來源)。
  • 啟用 `requirepass` / `ACL` (Redis 6+),設定 `protected-mode yes`。
  • 使用 `systemd` 管理,配置 `LimitNOFILE=65535`、`supervised systemd`。
  • 多 IP 場景通常為 **主從/哨兵/集群** 節點間通訊,建議 **單獨規劃複寫網段**,不與業務網段混用。

總結

`bind ip1 ip2 ip3` 語法正確。啟動失敗**多半是 IP 未在本機網卡上、權限、或 SELinux**。前台啟動看報錯、核對 `ip addr`、檢查日誌,三步定位。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved