(1)更新軟體源中的所有軟體列表,因爲剛剛安裝的操作系統可能有很多的軟體需要更新
apt-get update
(2)安裝erlang,由於rabbitMq需要erlang語言的支援,在安裝rabbitMq之前需要安裝erlang
apt-get install erlang-nox
(3)執行下面 下麪命令檢視erlang的版本,同時可以判斷erlang是否安裝成功
erl
(4)新增公鑰
wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -
(5)安裝 RabbitMQ,安裝成功後RabbitMQ會自動啓動
apt-get install rabbitmq-server
(6)也可以通過下面 下麪命令檢視當前RabbitMQ的執行情況
systemctl status rabbitmq-server
如下圖所示,active(running)表示執行成功
以上我們就安裝並正常啓動了RabbitMQ了。
緊接着我們可以給RabbitMQ安裝一些外掛
rabbitmq-plugins enable rabbitmq_management
成功後我們重新啓動一下服務
service rabbitmq-server restart #重新啓動
service rabbitmq-server start # 啓動
service rabbitmq-server stop # 停止
由於在RabbitMQ 3.3及以後的版本中,預設賬戶guest只能在伺服器本機登錄,所以這時候我們需要給RabbitMQ 增加一個管理員賬戶
1.檢視使用者列表
rabbitmqctl list_users
如果此時我們還沒有新增賬戶,使用者列表裏面只有一個guest
因爲我之前新增過admin與root所以這裏就會有三個賬戶,後面的administrator表示的是否是管理員賬戶。
2.新增一個賬戶
rabbitmqctl add_user admin 123456 #(admin 是賬戶名稱,123456是賬戶密碼)
3.給這個賬戶分配管理員角色
rabbitmqctl set_user_tags admin administrator
等賬戶建立好後,就可以通過http://伺服器IP:15672來存取rabbitMQ的web端視覺化介面了,通過我們新增的管理員賬戶登錄後,介面如下。
注:這個時候如果存取失敗的話,請檢查一下防火牆是否開啓了一下埠
4369 # erlang發現口
5672 # client端通訊口
15672 # 管理介面ui埠
25672 # server間內部通訊口
1883 # mqtt埠
15675 # mqtt websocket埠
rabbitmq-plugins enable rabbitmq_mqtt
rabbitmq-plugins enable rabbitmq_web_mqtt
安裝成功後重新啓動一下rabbitMQTT
也可以通過命令檢視MQTT外掛的啓動情況
rabbitmq-plugins list
最後我們通過MQTTbox工具測試能否正常通過MQTT訂閱與發佈訊息
Protocol選擇mqtt/tcp,輸入完連線參數後,我們點選save
正常情況下連線狀態爲Connected,但是也有可能會失敗,下面 下麪會說一下失敗原因
連線失敗截圖:
如果連線失敗,我們可以通過RabbitMQ的視覺化介面檢視一下賬戶的情況,這個時候我們可以發現admin賬戶的Can access virtual hosts居然是 No access
這是因爲我們新增的賬戶讀寫許可權不夠導致的,所以我們需要給其分配讀寫許可權,可以通過下面 下麪命令進行設定
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
我們賦予admin在「/」下面 下麪的全部資源的設定和讀寫許可權。
之後我們就可以通過admin賬戶進行鑑權登錄MQTT伺服器了。