參考:https://blog.csdn.net/haeasringnar/article/details/82715823?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
https://www.cnblogs.com/shuzhengyi/p/4280102.html
https://blog.csdn.net/cnxieyang/article/details/52710967
由於rabbitMq需要erlang語言的支持,在安裝rabbitMq之前需要安裝erlang,執行命令:
apt-get install erlang-nox # 安裝erlang erl # 查看relang語言版本,成功執行則說明relang安裝成功
退出erl:

安裝 RabbitMQ
sudo apt-get install rabbitmq-server
查看狀態
systemctl status rabbitmq-server #Active: active (running) 說明處於運行狀態 # service rabbitmq-server status 用service指令也可以查看,同systemctl指令
啟用 web端可視化操作界面,我們還需要配置Management Plugin插件
rabbitmq-plugins enable rabbitmq_management # 啟用插件 service rabbitmq-server restart # 重啟
安裝完成
使用以下鏈接進入插件提供的管理界面,用戶名密碼為上一步設置的用戶名與密碼(默認密碼官網上找,我忘記了)
http://IP:15672
啟動與停止:
啟動:sudo rabbitmq-server start 關閉: sudo rabbitmq-server stop 重啟: sudo rabbitmq-server restart
新建用戶
sudo rabbitmqctl add_user 【用戶名】 【密碼】
賦予權限
sudo rabbitmqctl set_user_tags [用戶名] administrator
賦予virtual host中所有資源的配置、寫、讀權限以便管理其中的資源,也是添加遠程訪問權限
sudo rabbitmqctl set_permissions -p / [用戶名] '.*' '.*' '.*'
基本操作:
sudo rabbitmqctl # 查看所有命令和幫助文檔
本地節點默認被命名為”rabbit”。可以通過這個命令前使 用”-n”標志明確的指定節點名稱, 例如:
sudo rabbitmqctl -n rabbit@hostname **** 控制台命令
sudo rabbitmqctl stop # 停止服務
sudo rabbitmqctl status # 查看服務狀態 顯示RabbitMQ中間件各種信息
啟動應用:sudo rabbitmqctl start_app
停止應用:sudo rabbitmqctl stop_app
sudo rabbitmqctl list_users # 查看當前所有用戶
sudo rabbitmqctl list_user_permissions guest # 查看默認guest用戶的權限
sudo rabbitmqctl delete_user guest # 刪掉默認用戶(由於RabbitMQ默認的賬號用戶名和密碼都是guest。為了安全起見, 可以刪掉默認用戶)
sudo rabbitmqctl add_user username password # 添加新用戶
sudo rabbitmqctl change_password username newpassword #修改密碼
sudo rabbitmqctl delete_user username # 刪除用戶
sudo rabbitmqctl set_user_tags username administrator # 設置用戶tag
sudo rabbitmqctl set_permissions [-p vhostpath] username regexp regexp regexp
example:sudo rabbitmqctl set_permissions -p / username ".*" ".*" ".*" # 賦予用戶默認vhost的全部操作權限
sudo rabbitmqctl list_user_permissions username # 查看用戶的權限
刪除虛擬主機 sudo rabbitmqctl delete_vhost vhostpath
列出全部隊列,exchanger,binder
sudo rabbitmqctl list_queues [-p <vhostpath>] [<queueinfoitem> ...]
list_exchanges [-p <vhostpath>] [<exchangeinfoitem> ...]
list_bindings [-p <vhostpath>] [<bindinginfoitem> ...]
list_connections [<connectioninfoitem> ...]
list_channels [<channelinfoitem> ...]
list_consumers [-p <vhostpath>]
rabbitmqctl set_user_tags User Tag
User為用戶名, Tag為角色名(對應於上面的administrator,monitoring,policymaker,management,或其他自定義名稱)。
sudo rabbitmqctl force_reset
(1) 超級管理員(administrator)
可登陸管理控制台(啟用management plugin的情況下),可查看所有的信息,並且可以對用戶,策略(policy)進行操作。
(2) 監控者(monitoring)
可登陸管理控制台(啟用management plugin的情況下),同時可以查看rabbitmq節點的相關信息(進程數,內存使用情況,磁盤使用情況等)
(3) 策略制定者(policymaker)
可登陸管理控制台(啟用management plugin的情況下), 同時可以對policy進行管理。但無法查看節點的相關信息(上圖紅框標識的部分)。
與administrator的對比,administrator能看到這些內容
(4) 普通管理者(management)
僅可登陸管理控制台(啟用management plugin的情況下),無法看到節點信息,也無法對策略進行管理。
(5) 其他
無法登陸管理控制台,通常就是普通的生產者和消費者。
