當在 Linux 上配置好 Rabbitmq服務器后,如果從主機中無法訪問到 Linux 中的Rabbitmq服務器時,需要做如下的檢查:
1. Rabbitmq是否啟動成功
在控制台輸入:
ps -ef | grep rabbitmq
命令含義:從當前所有進程中查找是否含有rabbitmq進程
如果有內容顯示,則說明 Rabbitmq啟動成功

否則,重新啟動 Rabbitmq
2. 檢查能否從 Linux 本地中訪問到 Rabbitmq
從控制台輸入命令:
wget http://localhost:15672
命令含義:訪問 http://localhost:15672

否則,檢查 Rabbitmq端口號是否正確
3. 檢查 Rabbitmq啟動端口號
Rabbitmq 默認的啟動端口號是 15672,如果你沒有對 Rabbitmq 的配置文件做修改的話應該是沒有問題的
輸入命令:
ps -ef | grep rabbitmq
命令含義:查看 Rabbitmq進程信息

查看進程號(圖中紅色框位置)
接着輸入命令:
netstat -apn | grep 9810
(注:grep 后跟的就是上一步所查的進程號)
命令含義:查看 9810進程占用的端口號

圖中紅色框位置即是你的 Rabbitmq的啟動端口號
4. 檢查遠程訪問的 ip 地址是否正確
如果從 Linux 本地可以成功訪問 Rabbitmq服務器,而從 Windows(主機) 上無法訪問,那么首先檢查遠程訪問的 ip 地址是否正確
在 Liunx 控制台上輸入命令:
ifconfig

圖中位置即是 Linux 的 ip 地址,若此處沒出現ens33的ip地址,可能是網絡配置沒配置好,解決方法具體請見https://www.cnblogs.com/zipxzf/p/11237269.html
5. 檢查 Linux 防火牆是否開放 Rabbitmq端口號
當window能夠ping通linux的ip,而還是不能通過ip在windows上訪問linux的一些服務,如tomcat、mysql、nginx、rabbitmq等服務,最可能的原因是linux的防火牆問題。
如果你沒有修改過 Linux 防火牆配置的話,那么 Rabbitmq 端口號一定是被禁用了 ,因為 Linux 防火牆默認只開啟 22 號端口。
你需要設置防火牆配置,開放 Rabbitmq的端口號 (注:網上有其他解決方法說直接關閉防火牆,這種方法很不可取)
我的 Linux 版本是 CentOS 7 ,在CentOS 7或RHEL 7或Fedora中防火牆由firewalld來管理,如果要添加范圍例外端口 如 1000-2000
語法命令如下:啟用區域端口和協議組合
firewall-cmd [--zone=<zone>] --add-port=<port>[-<port>]/<protocol> [--timeout=<seconds>]
此舉將啟用端口和協議的組合。端口可以是一個單獨的端口 <port> 或者是一個端口范圍 <port>-<port> 。協議可以是 tcp 或 udp。
實際命令如下:
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,沒有此參數重啟后失效)
firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent
重新載入
firewall-cmd --reload
查看
firewall-cmd --zone=public --query-port=80/tcp
刪除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
此處的解決方案是開放 15672端口號只需輸入命令:(注:若python無法連接Rabbitmq,同理,則需要開放5672端口號)
firewall-cmd --zone=public --add-port=15672/tcp --permanent
然后重啟防火牆,即可解決:
firewall-cmd --reload
成功訪問rabbitmq管理頁面

