前言
本文介紹Linux環境安裝RabbitMQ教程, Windows環境請參考: windows安裝RabbitMQ
一、安裝思路
1. 安裝erlang
2. 安裝socat
3. 安裝rabbitmq
4. 相關配置
說明:
- 由于RabbitMQ是基于Erlang語言開發, 所以在安裝RabbitMQ之前, 需要先安裝Erlang
- rabbitmq需要socat依賴, 所以需要先安裝socat
二、具體步驟
1. 安裝erlang
下載: wget http://www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm
安裝: rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm
2. 安裝socat
下載: wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
安裝: rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm
3. 安裝rabbitmq
下載: wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm
安裝: rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm
安裝成功, 如下圖所示:
三、啟動rabbitmq服務
安裝完成后, 還沒啟動服務, 先查看rabbitmq服務狀態, 命令: service rabbitmq-server status
, 提示:
Error: unable to connect to node rabbit@wangzaiplus: nodedown
OK, 啟動rabbitmq服務, 命令: service rabbitmq-server start
, 檢查是否啟動成功: ps -ef | grep rabbitmq
四、啟用后臺管理插件
此時, 服務已經啟動, 但通過瀏覽器訪問http://localhost:15672
或ip:15672
還是不能訪問管理界面, 因為還沒啟用插件, 啟用命令: rabbitmq-plugins enable rabbitmq_management
, 提示Applying plugin configuration to rabbit@wangzaiplus... started 6 plugins.
即表示啟用成功
瀏覽器遠程訪問http://192.168.1.123:15672
, 出現登錄界面
注意:
如果服務器開啟了防火墻, 則訪問不了, 可以先關閉防火墻或者暴露端口
centos7查看防火墻狀態:firewall-cmd --state
, 關閉后顯示not running
,開啟后顯示running
關閉防火墻:systemctl stop firewalld.service
五、開啟用戶遠程訪問
rabbitmq從3.3.0開始, 默認用戶guest
只允許本機訪問, 即: http://localhost:15672
, 如果通過ip:port
訪問, 會發現Login failed
, 為了讓guest
用戶能夠遠程訪問, 只需新建配置文件配置loopback_users
即可(rabbitmq.config
配置文件需手動創建), 步驟如下:
cd /etc/rabbitmq
新建配置文件: touch rabbitmq.config
vim rabbitmq.config
寫入并保存: [{rabbit, [{loopback_users, []}]}].
重啟服務: service rabbitmq-server restart
重新以guest
登錄, OK
目前為止, rabbitmq服務已安裝完畢
六、rabbitmq服務常用命令
查看rabbitmq服務狀態:
service rabbitmq-server status
啟動服務:
service rabbitmq-server start
停止服務:
service rabbitmq-server stop
重啟服務:
service rabbitmq-server restart
設置開機啟動:
chkconfig rabbitmq-server on
開啟管控臺:
rabbitmq-plugins enable rabbitmq_management
關閉管控臺:
rabbitmq-plugins disable rabbitmq_management
七、安裝步驟總結(如果你懶得看上面一堆廢話, 可以直接運行以下命令即可順利安裝好rabbitmq, 坑我都幫你踩完了)
下載erlang:
wget http://www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7.centos.x86_64.rpm
安裝erlang:
rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm
下載socat:
wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
安裝socat:
rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm
下載rabbitmq:
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server-3.6.5-1.noarch.rpm
安裝rabbitmq:
rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm
設置開機啟動:
chkconfig rabbitmq-server on
開啟rabbitmq服務:
service rabbitmq-server start
啟用web管理插件:
rabbitmq-plugins enable rabbitmq_management
設置遠程訪問登錄:
cd /etc/rabbitmq
touch rabbitmq.config
vim rabbitmq.config
寫入:[{rabbit, [{loopback_users, []}]}].
service rabbitmq-server restart
搞定
八、常見錯誤
- 無法遠程訪問管理界面, rabbitmq服務安裝成功并啟動后, 瀏覽器訪問
http://192.168.1.123:15672
發現訪問不了, 有以下幾個原因:
沒有啟用管理插件, 解決辦法:
rabbitmq-plugins enable rabbitmq_management
服務器開啟了防火墻且未開放
5672
、15672
端口, 解決辦法: 關閉防火墻或暴露端口, 關閉防火墻命令:systemctl stop firewalld.service
-
很重要: 如果服務器使用的是第三方云服務(如騰訊云服務器), 設置了安全組策略, 入站規則沒有開放
5672
、15672
端口, 那么也會出現這個問題, 解決辦法: 登錄云服務器管控臺, 配置安全組策略并關聯實例即可, 具體配置自行百度
如圖:
image.png
-
guest
用戶無法遠程登錄控制臺, 參考步驟:五、開啟用戶遠程訪問