RabbmitMQ 的配置及開啟MQTT服務


RabbitMQ是一個在AMQP協議標准基礎上完整的,可復用的企業消息系統。它遵循Mozilla Public License開源協議,采用 Erlang 實現的工業級的消息隊列(MQ)服務器,Rabbit MQ 是建立在Erlang OTP平台上。

裝RabbitMQ服務器必須首先安裝 Erlang 運行環境。

安裝Erlang

安裝Erlang 時要注意安裝的RabbityMQ 所依賴的Erlang版本,根據RabbitMQ的要求選擇一個版本,這里我要安裝的RabbitMQ的版本是 3.7.7 ,他依賴的Erlang版本范圍是

19.3.6.4 到 21.0.x,因此我選擇版本是OTP 20.3. Erlang下載地址。下載Erlang安裝包后直接安裝就可以了。

設置ERLANG_HOME 環境變量

image

我這里是默認安裝所以Erlang的安裝路徑在:

C:\Program Files\erl9.3\bin\erl.exe

點擊確定在系統環境變量里就增加剛剛添加的ERLANG_HOME

image

注意:如果之前安裝了Erlang的其他版本,需要卸載后在進行重新安裝和設置。

在開始菜單查找Erlang,點擊啟動 打開如下界面,那么Erlang就安裝成功了。接下來就安裝RabbitMQ。

image

安裝RabbitMQ

可以在RabbitMQ的官方網站下載最新版本的RabbitMQ服務器安裝程序,RabbitMQ下載地址, 這里我下載的是官方推薦的最新版本rabbitmq-server-3.7.7.exe, 然后點擊默認安裝。

RabbitMQ安裝好后是作為windows service 運行在后台。

image

設置RabbitMQ環境變量

RabbitMQ 安裝好后在開始菜單輸入rabbitmq 會看到三個菜單:

image

這里的三個菜單是提供控制Windows service的命令,為了能夠在任意Windows命令窗口上操控RabbitMQ服務需要在系統里加一個環境變量並且配置在系統的PHTH環境變量中。

首先添加一個RABBITQM_SERVER變量:

image

然后在系統的path變量中配置如下:

image

這樣就可以在windows administrator啟動的CMD窗口操控RabbitMQ服務了。不需要每次都定位到:
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.7\sbin>

安裝 rabbitmq_management

我們用命令查看一下RabbtitMQ的所有插件:

C:\WINDOWS\system32>rabbitmq-plugins list

看到RabbtitMQ 羅列出來了很多插件

image

我們用下列命令安裝rabbitmq_management插件,這款插件是可以可視化的方式查看RabbitMQ 服務器實例的狀態,以及操控RabbitMQ服務器。

開戶web監控界面命令:

C:\WINDOWS\system32>rabbitmq-plugins enable rabbitmq_management

運行完命令后,看到下圖表示安裝成功了。

image

現在我們在瀏覽器中輸入:http://localhost:15672 可以看到一個登錄界面:

image

這里可以使用默認賬號guest/guest登錄后的界面如下:

image

在瀏覽器中輸入 http://localhost:15672/api/ 就可以看到 RabbitMQ Management HTTP API 文檔,如下圖:

image

這樣就可以查看RabbitMQ server實例狀態的相關信息了。

管理rabbitmq_management的用戶

用命令rabbitmqctl list_users 查看一下現rabbitmq_management注冊用戶

image

發現現在只有一個用戶guest,並且它的tag是administrator.

那么在命令行下創建一個用戶,創建用戶的命令合是:

rabbitmqctl add_user [username] [password]

現在創建一個username=rabbit1 password=rabbit1的用戶, 命令如下:

rabbitmqctl add_user rabbit1 rabbit1

創建成功了:

image

現在看下有多少用戶,跑一下命令:

rabbitmqctl list_users

image

發現用戶列表里多了一個用戶 rabbit1,但是tag是空的。使用命令給rabbit設置tag,設置tag的命令格式:

rabbitmqctl set_user_tag [tag1] [tag2] ...

一次可以給一個用戶設置多個tag,也可以設置一個

image

現在rabbit1 有兩個tag了一個是administrator ,一個是none.

有5個tag可供選擇,分別是:administrator ,monitoring,policymaker,management和none 有興趣的同學可以到這里了解各個tag的含義,其實這里的tag代表的是權限,administrator是最高權限,none表示不能訪問,這里administrator和none的組合,權限應該是向高看齊,忽略none,用的是administrator的權限。我們用rabbit1/rabbit1 登錄rabbitmq_management。

image

其實有了rabbitmq_management這個可視化插件,很多事情都可以在這個插件里干,包括創建用戶,創建交換機(Exchange)和創建隊列(Queque)。

關於Rabbit的在windows下的基本配置就告一段落,關於更多的更高級的配置,可以參考官網,有了rabbitmq_management 插件確實方便了不少。下面就開始創建客戶端進行測試了。

 

開啟MQTT插件:

      MQTT插件支持MQTT 3.1.1 ,同時也可以i讓MQTT客戶端與其他協議(AMQP 0-9-1、AMQP 1.0和 STOMP)客戶端交互 。支持多租戶。

 

   (1) 啟用插件

   安裝完RabbitMQ后,默認並沒有啟動MQTT插件。使用下面命令啟用插件

  1.  
    rabbitmq-plugins enable rabbitmq_mqtt
  2.  
    rabbitmq-plugins list

(2) 配置權限    

MQTT插件默認允許匿名訪問,但不建議。
添加用戶。 添加一個用戶名和密碼都是 "mqtt-test"的用戶

rabbitmqctl add_user mqtt-test mqtt-test

設置用戶 mqtt-test對虛擬主機(/)具有配置,寫,讀的權限。用戶標記為管理者

  1.  
    rabbitmqctl set_permissions -p / mqtt-test ".*" ".*" ".*"
  2.  
    rabbitmqctl set_user_tags mqtt-test management

(3)添加隊列,綁定Exchange和Queus  

 

測試

 

 

 

 

轉自:https://www.cnblogs.com/vaiyanzi/p/9531607.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM