Rabbitmq-常用命令
一、虚拟主机
1:创建新的虚拟主机
语法:rabbitmqctl add_vhost【主机name】
创建新的主机test [root@test1 ~]# rabbitmqctl add_vhost test
Creating vhost "test"
2:删除虚拟主机
语法:rabbitmqctl delete_vhost【主机name】
删除test主机
[root@test1 ~]# rabbitmqctl delete_vhost test
Deleting vhost "test"
3:列出所有的虚拟主机
[root@test1 ~]# rabbitmqctl list_vhosts
Listing vhosts
/
二、用户管理
①超级管理员(administrator):可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
② 监控者(monitoring):可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
③ 策略制定者(policymaker):可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息。
④普通管理者(management):仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
⑤其他(none):无法登陆管理控制台,通常就是普通的生产者和消费者
1:创建用户
语法:rabbitmqctl add_user 【name】【password】
创建user1用户,密码为abc-123 [root@test1 ~]# rabbitmqctl add_user user1 abc-123
Creating user "user1"
2:列出所有用户
语法:rabbitmqctl list_user [root@test1 ~]# rabbitmqctl list_users
Listing users
user1 []
guest [administrator]
3:更改用户密码
语法:rabbitmqctl change_password 【name】【password】
更改user1的密码为test-123 [root@test1 ~]# rabbitmqctl change_password user1 test-123 Changing password for user "user1"
4:清除用户密码
语法:rabbitmqctl clear_password 【name】
清除user1用户密码
[root@test1 ~]# rabbitmqctl clear_password user1
Clearing password for user "user1"
5:删除用户
语法:rabbitmqctl delete_user 【name】 删除user1用户
[root@test1 ~]# rabbitmqctl delete_user user1
Deleting user "user1"
6:赋予用户某个角色
语法:rabbitmqctl set_user_tags 【name】【角色】
赋予user1用户management角色 [root@test1 ~]# rabbitmqctl set_user_tags user1 managemnet
同时赋予多个角色
[root@test1 ~]# rabbitmqctl set_user_tags user1 monitoring policymaker
7:给用户设置权限
语法:rabbitmqctl set_permissions -p 【主机名字】【用户名】【conf】【write】【 read】
针对vhost1虚拟主机给user1用户设置所有的配置、读写queue和exchange的权限。 [root@test1 ~]# rabbitmqctl set_permissions -p vhost1 user1 '.*' '.*' '.*' 说明:用户权限指的是用户对exchange,queue的操作权限,包括配置权限,读写权限。配置权限会影响到exchange,queue的声明和删除。读写权限影响到从queue里取消息,向exchange发送消息以及queue和exchange的绑定(bind)操作。例如: 将queue绑定到某exchange上,需要具有queue的可写权限,以及exchange的可读权限;向exchange发送消息需要具有exchange的可写权限;从queue里取数据需要具有queue的可读权限。
8:列出某用户的权限,即该用户对哪个虚拟主机有权限 语法:rabbitmqctl list_user_permissions 【用户名】
[root@test1 ~]# rabbitmqctl list_user_permissions user1
9: 列出指定虚拟主机下所有用户的权限,即哪些用户对该虚拟主机有权限 语法:rabbitmqctl list_permissions -p 【主机名】 [root@test1 ~]# rabbitmqctl list_permissions -p vhost1
10:清除某用户在指定虚拟机上的授权
语法:rabbitmqctl clear_permissions -p 【主机名】 【用户名】 [root@test1 ~]# rabbitmqctl clear_permissions -p vhost1 user1
说明:rabbitmq除了通过命令模式来对用户进行管理,也可以在web界面进行用户管理操作
![](https://img2018.cnblogs.com/blog/1814649/201910/1814649-20191028224418129-311876432.png)
三、插件
1:获取RabbitMQ插件列表
[root@test1 ~]# rabbitmq-plugins list
2:安装RabbitMQ插件 语法:rabbitmq-plugins enable 【插件名字】
[root@test1 ~]# rabbitmq-plugins enable rabbitmq_management
3:卸载插件 语法:rabbitmq-plugins disable 【插件名字】
[root@test1 ~]# rabbitmq-plugins disable rabbitmq_management
四、限制
1:设置虚拟主机的最大连接数
[root@test1 ~]# rabbitmqctl set_vhost_limits -p vhost_name '{"max-connections": 256}'
2:不允许客户端连接虚拟主机 [root@test1 ~]# rabbitmqctl set_vhost_limits -p vhost_name '{"max-connections": 0}'
3:不限制连接数 [root@test1 ~]# rabbitmqctl set_vhost_limits -p vhost_name '{"max-connections": -1}' :
4:限制虚拟主机里最大的队列数 [root@test1 ~]# rabbitmqctl set_vhost_limits -p vhost_name '{"max-queues": 1024}'
5:不限制队列数 [root@test1 ~]# rabbitmqctl set_vhost_limits -p vhost_name '{"max-queues": -1}'
五、其他
1:列出所有的交换器
[root@test1 ~]# rabbitmqctl list_exchanges 2:列出所有的绑定,即把exchange和queue按照路由规则绑定起来
[root@test1 ~]# rabbitmqctl list_bindings 3:分别查看当前系统种存在的Exchange和Exchange上绑定的Queue信息。
[root@test1 ~]# rabbitmqctl list_queues
4:查看运行信息
[root@test1 ~]# rabbitmqctl status
记录每一天有趣的事情!!