1. 程式人生 > >redis客戶端在本地連線CentOS 7虛擬機器的服務端時,為什麼會報can't connect to redis-server 的錯誤??以及做主從複製的時候總是失敗

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主從複製的問題也相應解決了,後期遇到難解決的 網上百度不到的問題  ,我都會歸納到自己部落格裡,,謝謝大家參考!