redis客戶端在本地連線CentOS 7虛擬機器的服務端時,為什麼會報can't connect to redis-server 的錯誤??以及做主從複製的時候總是失敗
redis客戶端在本地連線CentOS 7虛擬機器的服務端時,為什麼會報can't connect to redis-server 的錯誤?
1.你虛擬機器上的防火牆沒有關
2.埠沒有開放
3.bind繫結ip的配置問題
解決辦法:
1.注意:在CentOS 7中防火牆由firewalld來管理,
如果要新增範圍例外埠 如 1000-2000
語法命令如下:啟用區域埠和協議組合
firewall-cmd [--zone=<zone>] --add-port=<port>[-<port>]/<protocol> [--timeout=<seconds>]
此舉將啟用埠和協議的組合。埠可以是一個單獨的埠 <port> 或者是一個埠範圍 <port>-<port> 。協議可以是 tcp 或 udp。
實際命令如下:
firewall-cmd --permanent --add-port=6379/tcp
執行可以成功,返回success
【如果報錯:firewalld is not running
則檢視:https://jingyan.baidu.com/article/5552ef47f509bd518ffbc933.html】
用該命令查詢firewall-cmd --permanent --query-port=6379/tcp
2.開放埠的配置要新增在:vim /etc/sysconfig/iptables-config 文末就可以了;
新增的內容: -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
3.原來是redis預設只能localhost登入,所以需要開啟遠端登入。
解決方法如下:
在redis的配置檔案redis.conf中,找到bind 127.0.0.1,替換成0.0.0.0(這樣不限制連線的ip,可以任意ip都可以連線此redis)。
bind 區域網IP 只能區域網內IP的機器訪問, 本地localhost都無法訪問。
總結:估計大家連線不通 遇到的終極問題 都是前兩條,其他的問題,網上隨便百度一下都可以解決了!
那麼既然埠開放,防火牆關閉之後,客戶端都可以連線了。我相信redis主從複製的問題也相應解決了,後期遇到難解決的 網上百度不到的問題 ,我都會歸納到自己部落格裡,,謝謝大家參考!