啟動和關閉
1、啟動RabbitMQ
rabbitmq-server start
注意:這里可能會出現錯誤,錯誤原因是/var/lib/rabbitmq/.erlang.cookie文件權限不夠。
解決方案對這個文件授權
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
chmod 400 /var/lib/rabbitmq/.erlang.cookie
2、停止服務
rabbitmqctl stop
1、添加插件
rabbitmq-plugins enable {插件名}
2、刪除插件
rabbitmq-plugins disable {插件名}
注意:RabbitMQ啟動以后可以使用瀏覽器進入管控臺但是默認情況RabbitMQ不允許直接使用瀏覽器瀏覽器進行訪問因此必須添加插件
rabbitmq-plugins enable rabbitmq_management
3、使用瀏覽器訪問管控臺http://RabbitMQ服務器IP:15672
http://192.168.71.128:15672
RabbitMQ安裝成功后使用默認用戶名guest登錄
賬號:guest
密碼:guest
注意:這里guest只允許本機登錄訪問需要創建用戶并授權遠程訪問命令如下
1、 添加用戶:rabbitmqctl add_user {username} {password}
rabbitmqctl add_user root root
2、 刪除用戶:rabbitmqctl delete_user {username}
3、 修改密碼:rabbitmqctl change_password {username} {newpassword}
rabbitmqctl change_password root123456
4、 設置用戶角色:rabbitmqctl set_user_tags {username} {tag}
rabbitmqctl set_user_tags root administratortag參數表示用戶角色取值為:management ,monitoring ,policymaker administrator, ,
各角色詳解:management
用戶可以通過AMQP做的任何事外加:
列出自己可以通過AMQP登入的virtual hosts
查看自己的virtual hosts中的queues, exchanges 和 bindings
查看和關閉自己的channels 和 connections
查看有關自己的virtual hosts的“全局”的統計信息,包含其他用戶在這些virtual hosts中的活動。
policymaker management可以做的任何事外加:查看、創建和刪除自己的virtual hosts所屬的policies和parametersmonitoring
management可以做的任何事外加:列出所有virtual hosts,包括他們不能登錄的virtual hosts
查看其他用戶的connections和channels
查看節點級別的數據如clustering和memory使用情況
查看真正的關于所有virtual hosts的全局的統計信息
administrator policymaker和monitoring可以做的任何事外加:
創建和刪除virtual hosts
查看、創建和刪除users
查看創建和刪除permissions
關閉其他用戶的connections
1、 授權命令:rabbitmqctl set_permissions [-p vhostpath] {user} {conf} {write} {read}-p vhostpath :用于指定一個資源的命名空間,例如 –p / 表示根路徑命名空間
user:用于指定要為哪個用戶授權填寫用戶名
conf:一個正則表達式match哪些配置資源能夠被該用戶配置。
write:一個正則表達式match哪些配置資源能夠被該用戶讀。
read:一個正則表達式match哪些配置資源能夠被該用戶訪問。
例如:rabbitmqctl set_permissions -p / root “.*” “.*” “.*”
用于設置root用戶擁有對所有資源的 讀寫配置權限
2、查看用戶權限 rabbitmqctl list_permissions [vhostpath]
例如查看根徑經下的所有用戶權限
rabbitmqctl list_permissions
查看指定命名空間下的所有用戶權限
rabbitmqctl list_permissions /abc
3、查看指定用戶下的權限rabbitmqctl list_user_permissions {username}
例如查看root用戶下的權限 rabbitmqctl list_user_permissions root
4、清除用戶權限rabbitmqctl clear_permissions {username}
例如:清除root用戶的權限 rabbitmqctl clear_permissions root
vhost是RabbitMQ中的一個命名空間,可以限制消息的存放位置利用這個命名空間可以進行權限的控制有點類似Windows中的文件夾一樣,在不同的文件夾中存放不同的文件。
1、添加vhost: rabbitmqctl add vhost {name}
例如 rabbitmqctl add vhost bjpowernode
2、刪除vhost:rabbitmqctl delete vhost {name}
例如 rabbitmqctl delete vhost bjpowernode