rabbitMQ是一個在AMQP協議標準基礎上完整的,可服用的企業消息系統。它遵循Mozilla Public License開源協議,採用 Erlang 實現的工業級的消息隊列(MQ)服務器,Rabbit MQ 是創建在Erlang OTP平臺上。html
在安裝rabbitMQ以前,須要先安裝Erlang 。 官網下載https://www.erlang.org/downloads。windows
官網下載https://www.rabbitmq.com/install-windows.html。默認安裝的RabbitMQ 監聽端口是5672瀏覽器
4369 -- erlang發現口 安全
5672 --client端通訊口 服務器
15672 -- 管理界面ui端口 ui
25672 -- server間內部通訊口spa
舉例說明:.net
訪問RabbitMQ管理界面能夠訪問以下:http://localhost:15672/插件
鏈接RabbitMQ的話就要用client端通訊口:server: amqp://guest:guest@localhost:5672/ code
若是用其它協議,還有其它口,點擊查看文檔說明
使用RabbitMQ 管理插件,能夠更好的可視化方式查看Rabbit MQ 服務器實例的狀態。打開命令窗口(能夠配置環境變量,省去文件路徑)
輸入命令(找到安裝路徑):
"E:\RabbitMQ\rabbitmq_server-3.7.18\sbin\rabbitmq-plugins.bat" enable rabbitmq_management
須要重啓服務才行,使用命令:
net stop RabbitMQ && net start RabbitMQ
可能會出現這種結果:
「發生錯誤:發生系統錯誤 5。 拒絕訪問。」5表明的是:不是系統管理員權限。 問題解決方案:使用管理員打開cmd再執行此命令:
使用rabbitmqctl控制檯命令(位於E:\RabbitMQ\rabbitmq_server-3.7.18\sbin)來建立用戶,密碼,綁定權限等。
注意:安裝路徑根據本身的而定。rabbitmq的用戶管理包括增長用戶,刪除用戶,查看用戶列表,修改用戶密碼。
查看已有用戶及用戶的角色:
rabbitmqctl.bat list_users
新增用戶:
rabbitmqctl.bat add_user username password
yang 後面沒有「[administrator]」就是個‘[]’,這個administrator就涉及到用戶角色問題:
rabbitmq用戶角色可分爲五類:超級管理員, 監控者, 策略制定者, 普通管理者以及其餘:
(1) 超級管理員(administrator)
可登錄管理控制檯(啓用management plugin的狀況下),可查看全部的信息,而且能夠對用戶,策略(policy)進行操做。
(2) 監控者(monitoring)
可登錄管理控制檯(啓用management plugin的狀況下),同時能夠查看rabbitmq節點的相關信息(進程數,內存使用狀況,磁盤使用狀況等)
(3) 策略制定者(policymaker)
可登錄管理控制檯(啓用management plugin的狀況下), 同時能夠對policy進行管理。
(4) 普通管理者(management)
僅可登錄管理控制檯(啓用management plugin的狀況下),沒法看到節點信息,也沒法對策略進行管理。
(5) 其餘的
沒法登錄管理控制檯,一般就是普通的生產者和消費者。
修改yang變成 「超級管理員」 角色:
rabbitmqctl.bat set_user_tags username administrator
除了上面的administrator 還有 monitoring、policymaker、management、自定義名稱 ,對應上面介紹到的不一樣的角色。用戶也能夠同時具備多個角色,設置方式:
rabbitmqctl.bat set_user_tags username tag1 tag2 ...
guest 這個是默認帳號,要是以爲不安全(它的默認密碼是guest),想更改密碼:
rabbitmqctl change_password userName newPassword
刪除用戶:
rabbitmqctl.bat delete_user username
使用瀏覽器打開 http://localhost:15672 訪問Rabbit Mq的管理控制檯,使用剛纔建立的帳號登錄系統:
除了可查看全部的信息 ,上面的命令 增刪改查、權限設置,均可以在這個頁面完成,還能夠依據業務需求設置策略(policy)。
用戶有了角色,那也須要權限設置:
按照官方文檔,用戶權限指的是用戶對exchange,queue的操做權限,包括配置權限,讀寫權限。
配置權限會影響到exchange、queue的聲明和刪除。
讀寫權限影響到從queue裏取消息、向exchange發送消息以及queue和exchange的綁定(binding)操做。
例如: 將queue綁定到某exchange上,須要具備queue的可寫權限,以及exchange的可讀權限;向exchange發送消息須要具備exchange的可寫權限;從queue裏取數據須要具備queue的可讀權限
權限相關命令爲:
(1) 設置用戶權限
rabbitmqctl set_permissions -p VHostPath User ConfP WriteP ReadP
(2) 查看(指定hostpath)全部用戶的權限信息
rabbitmqctl list_permissions [-p VHostPath]
(3) 查看指定用戶的權限信息
rabbitmqctl list_user_permissions User
(4) 清除用戶的權限信息
rabbitmqctl clear_permissions [-p VHostPath] User
安裝參考 http://www.rabbitmq.com/install-windows-manual.html