RabbitMQ 安裝
- 安裝 RabbitMQ 前要先安裝 Erlang,可以去 Erlang 官網(wǎng)下載,接著去 RabbitMQ 官網(wǎng)下載安裝包,解壓縮即可
- Mac 用戶可以通過(guò) HomeBrew 來(lái)安裝竭鞍,會(huì)自動(dòng)添加依賴的 Erlang
brew update
brew install rabbitmq
RabbitMQ 運(yùn)行和管理
- 要啟動(dòng) RabbitMQ 只需在 sbin 目錄下執(zhí)行
/sbin/rabbitmq-server
- 若想要 RabbitMQ 以守護(hù)程序的方式在后臺(tái)運(yùn)行署穗,只需在啟動(dòng)時(shí)加上 detached 參數(shù)
/sbin/rabbitmq-server -detached
- 查詢服務(wù)器狀態(tài),可通過(guò) rabbitmqctl个榕,通過(guò) status 參數(shù)
/sbin/rabbitmqctl status
- 關(guān)閉 RabbitMQ 節(jié)點(diǎn)凯旭,在 Erlang 中有兩個(gè)概念:節(jié)點(diǎn)和應(yīng)用程序概耻,節(jié)點(diǎn)為 Erlang 虛擬機(jī)的每個(gè)實(shí)例,多個(gè) Erlang 應(yīng)用程序可以運(yùn)行在同一個(gè)節(jié)點(diǎn)之上罐呼,節(jié)點(diǎn)之間可進(jìn)行通信(無(wú)論是否運(yùn)行在同一臺(tái)服務(wù)器)鞠柄,比如一個(gè)運(yùn)行在節(jié)點(diǎn) A 上得應(yīng)用程序可以調(diào)用節(jié)點(diǎn) B 上應(yīng)用程序的方法,就好像調(diào)用本地函數(shù)一樣
- 如果要關(guān)閉整個(gè) RabbitMQ 節(jié)點(diǎn)可以使用 stop 參數(shù)嫉柴,它會(huì)和本地節(jié)點(diǎn)通信并指示其干凈得關(guān)閉
/sbin/rabbitmqctl stop
- 也可以指定關(guān)閉不同得節(jié)點(diǎn)厌杜,包括遠(yuǎn)程節(jié)點(diǎn),只需傳入?yún)?shù) -n node,默認(rèn) node 名稱是 rabbit@server差凹,如果主機(jī)名是 server.example.com期奔,那么 node 名稱就是 rabbit@server.example.com
/sbin/rabbitmqctl -n rabbit@server.example.com stop
- 關(guān)閉 RabbitMQ 應(yīng)用程序,如果只想關(guān)閉應(yīng)用程序危尿,同時(shí)保持 Erlang 節(jié)點(diǎn)運(yùn)行則可以使用 stop_app
/sbin/rabbitmqctl stop_app
- 啟動(dòng) RabbitMQ 應(yīng)用程序
/sbin/rabbitmqctl start_app
- 重置 RabbitMQ 節(jié)點(diǎn),它將會(huì)清除所有的隊(duì)列
/sbin/rabbitmqctl reset
- 查看已聲明的隊(duì)列
/sbin/rabbitmqctl list_queues
- 查看交換器
/sbin/rabbitmqctl list_exchanges
改命令還可以附加參數(shù)馁痴,比如列出交換器名稱谊娇、類型、是否持久化、是否自動(dòng)刪除
/sbin/rabbitmqctl list_exchanges name type durable auto_delete
- 查看綁定
/sbin/rabbitmqctl list_bindings
RabbitMQ 用戶與權(quán)限
用戶角色分類
- none:普通的消息生產(chǎn)者和消費(fèi)者济欢、不能訪問(wèn) management plugin
- management:普通的管理者赠堵,僅可登錄管理控制臺(tái),無(wú)法看見(jiàn)節(jié)點(diǎn)信息法褥、無(wú)法對(duì) policies 進(jìn)行管理
- policymaker:策略定制者茫叭,相比 management 增加了查看、創(chuàng)建半等、刪除 virtual hosts 所屬的 policies 和 parameters
- monitoring:相比 management 增加了列出 virutual hosts揍愁,包括 virtual hosts,可以查看 rabbitmq 節(jié)點(diǎn)相關(guān)信息(進(jìn)程數(shù)杀饵、內(nèi)存使用情況莽囤、磁盤使用情況)
- administrator:超級(jí)管理員
用戶管理
- 創(chuàng)建用戶
rabbitmqctl add_user {用戶名} {密碼} #創(chuàng)建用戶
rabbitmqctl set_user_tags {用戶名} {權(quán)限} #設(shè)置權(quán)限
// 例如創(chuàng)建一個(gè)超級(jí)用戶
rabbitmqctl add_user admin1 admin1
rabbitmqctl set_user_tags admin1 administrator
- 查看用戶列表
rabbitmqctl list_users
- 用戶權(quán)限
rabbitmqctl add_vhost <vhost> #添加 Virtual Hosts
rabbitmqctl delete_vhost <vhost> #刪除 Virtual Hosts
// 添加 Users
rabbitmqctl add_user <username> <password>
rabbitmqctl set_user_tags <username> <tag> ...
rabbitmqctl set_permissions [-p <vhost>] <user> <conf> <write> <read>
// 使用戶 user1 具有 vhost1 這個(gè) virtual host 中所有資源的配置、寫(xiě)切距、讀權(quán)限
rabbitmqctl set_permissions -p vhost1 user1 '.*' '.*' '.*'
// 查看權(quán)限
rabbitmqctl list_user_permissions user1
rabbitmqctl list_permissions -p vhost1
// 清除權(quán)限
rabbitmqctl clear_permissions [-p VHostPath] User
- 刪除用戶
rabbitmqctl delete_user Username
- 修改用戶密碼
rabbitmqctl change_password Username Newpassword
RabbitMQ 圖形管理界面
開(kāi)啟 RabbitMQ 圖形管理插件
rabbitmq-plugins enable rabbitmq_management
啟動(dòng) RabbitMQ
rabbitmq-server -detached
添加用戶
rabbitmqctl add_user admin 123456
添加權(quán)限
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
修改用戶角色
rabbitmqctl set_user_tags admin administrator
訪問(wèn) http://localhost:15672朽缎,通過(guò) admin 123456 登錄 RabbitMQ 管理界面