1. 程式人生 > >windows下 安裝 rabbitMQ 及操作常用命令(轉)

windows下 安裝 rabbitMQ 及操作常用命令(轉)

點擊 結束 進程 重啟 開始 use 完成 題解 五類

windows下 安裝 rabbitMQ 及操作常用命令

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

1.安裝Erlang

所以在安裝rabbitMQ之前,需要先安裝Erlang 。

小編使用的是otp_win64_18.1 ,需要其他版本或者32位系統的,可以去官網下載。

全部點擊“下一步”就行。

有的選擇其他的安裝方式,可能需要添加一下系統環境變量(正常安裝的也要檢查下):

技術分享

有最好,沒有的話就手動添加嘛。

2.安裝RabbitMQ

下載運行rabbitmq-server-3.6.5 ,需要其他版本或者32位系統的,可以去官網下載。

依舊可以不改變默認進行安裝。

需要註意:默認安裝的RabbitMQ 監聽端口是5672

3.配置

激活 RabbitMQ‘s Management Plugin

使用RabbitMQ 管理插件,可以更好的可視化方式查看Rabbit MQ 服務器實例的狀態。

打開命令窗口:

輸入命令:

"C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin\rabbitmq-plugins.bat" enable rabbitmq_management

技術分享

這樣,就安裝好插件了,是不是能使用了呢?別急,需要重啟服務才行,使用命令:

net stop RabbitMQ && net start RabbitMQ

這時候的,也許會出現這種結果:

技術分享

“發生錯誤:發生系統錯誤 5。 拒絕訪問。”

這是什麽鬼?查了下,原來,5代表的是:不是系統管理員權限。

問題解決方案:使用管理員打開cmd再執行此命令:

技術分享

這樣就結束了嗎?當然沒有。

創建用戶,密碼,綁定角色

使用rabbitmqctl控制臺命令(位於C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin>)來創建用戶,密碼,綁定權限等。

註意:安裝路徑不同的請看仔細啊。

rabbitmq的用戶管理包括增加用戶,刪除用戶,查看用戶列表,修改用戶密碼。

查看已有用戶及用戶的角色:

rabbitmqctl.bat list_users

技術分享

新增一個用戶:

rabbitmqctl.bat add_user username password

技術分享

此時來看下我們當前用戶哈:

技術分享

eric 後面沒有“[administrator]”

這個administrator是幹嘛用的呢?這就涉及到用戶角色問題了:

按照我個人理解,rabbitmq用戶角色可分為五類:超級管理員, 監控者, 策略制定者, 普通管理者以及其他。

(1) 超級管理員(administrator)

可登陸管理控制臺(啟用management plugin的情況下),可查看所有的信息,並且可以對用戶,策略(policy)進行操作。

(2) 監控者(monitoring)

可登陸管理控制臺(啟用management plugin的情況下),同時可以查看rabbitmq節點的相關信息(進程數,內存使用情況,磁盤使用情況等)

(3) 策略制定者(policymaker)

可登陸管理控制臺(啟用management plugin的情況下), 同時可以對policy進行管理。

(4) 普通管理者(management)

僅可登陸管理控制臺(啟用management plugin的情況下),無法看到節點信息,也無法對策略進行管理。

(5) 其他的

無法登陸管理控制臺,通常就是普通的生產者和消費者。

好啦,我們也給 eric 變成 “超級管理員” 角色:

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

技術分享

有的人也許會說,我就是看guest不爽,老子新增了administrator用戶了,就是想幹掉它,可以:

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

現在環境搭好了,用戶、角色、權限全部設置好,開始進行code(原理整理,及編碼 待續)

參考:

安裝參考 http://www.rabbitmq.com/install-windows-manual.html

權限內容參考 http://www.rabbitmq.com/man/rabbitmqctl.1.man.html

權限命令摘自 https://my.oschina.net/hncscwc/blog/262246

windows下 安裝 rabbitMQ 及操作常用命令(轉)