RabbitMQ界面管理和命令管理

时间:2022-09-22 08:06:24

RabbitMQ vhost管理

RabbitMQ vhost 全称为Virtual Host(虚拟主机),一个broker里可以开设多个vhost,用作不同用户的权限分离。权限控制组,用户只能关联到一个vhost上,一个vhost中可以有若干个Exchange和Queue,默认的vhost是”/”

一、通过RabbitMQ管理后台管理vhost

http://localhost:15672/#/vhosts
1、添加一个虚拟主机
RabbitMQ界面管理和命令管理


2、对虚拟主机设置权限和删除虚拟主机
在虚拟主机列表中对着想要操作的虚拟主机点击,进行操作页面
RabbitMQ界面管理和命令管理


RabbitMQ界面管理和命令管理


RabbitMQ界面管理和命令管理

二、通过RabbitMQ 命令行管理vhost

virtual_host管理

 add_vhost <vhost>
delete_vhost <vhost>
list_vhosts [<vhostinfoitem> ...]
set_permissions [-p <vhost>] <user> <conf> <write> <read>
conf:正则表达式匹配哪些配置资源能够被该用户访问
conf:正则表达式匹配哪些配置资源能够被该用户读
conf:正则表达式匹配哪些配置资源能够被该用户访问
clear_permissions [-p <vhost>] <username>
list_permissions [-p <vhost>]
list_user_permissions <username>

示例:
1、创建vhost

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl add_vhost /testvhost
Creating vhost "/testvhost" ...

2、查看vhost列表

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl list_vhosts
Listing vhosts ...
/testvhost
/

3、对vhost设置权限

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl set_permissions -p /testvhost test1 ConfP  WriteP  ReadP
Setting permissions for user "test1" in vhost "/testvhost" ...

4、查看指定vhost的权限

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl  list_permissions -p /testvhost
Listing permissions in vhost "/testvhost" ...
test1 ConfP WriteP ReadP

5、查看指定用户的权限

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl list_user_permissions test1
Listing permissions for user "test1" ...
/testvhost ConfP WriteP ReadP

6、清除权限

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl clear_permissions -p /testvhost test1
Clearing permissions for user "test1" in vhost "/testvhost" ...

7、设置所有权限

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl set_permissions -p /testvhost test1 ".*" ".*" ".*"
Setting permissions for user "test1" in vhost "/testvhost" ...

RabbitMQ:基本命令

rabbitmq的安装、启动和停止

rabbitmq-service.bat install
rabbitmq-service.bat start
rabbitmq-service.bat stop

列出所有queue

rabbitmqctl list_queues

列出指定queue的信息

rabbitmqctl list_queues [the queue name] messages_ready messages_unacknowledged

列出所有exchange

rabbitmqctl list_exchanges

列出所有binding

rabbitmqctl list_bindings

安装基于web的管理插件

rabbitmq-plugins.bat enable rabbitmq_management 

应用和集群管理

1.停止RabbitMQ应用,关闭节点

# rabbitmqctl stop 

2.停止RabbitMQ应用

# rabbitmqctl stop_app 

3.启动RabbitMQ应用

# rabbitmqctl start_app 

4.显示RabbitMQ中间件各种信息

# rabbitmqctl status 

5.重置RabbitMQ节点

# rabbitmqctl reset 
# rabbitmqctl force_reset

从它属于的任何集群中移除,从管理数据库中移除所有数据,例如配置过的用户和虚拟宿主, 删除所有持久化的消息。
force_reset命令和reset的区别是无条件重置节点,不管当前管理数据库状态以及集群的配置。如果数据库或者集群配置发生错误才使用这个最后 的手段。
注意:只有在停止RabbitMQ应用后,reset和force_reset才能成功。

6.循环日志文件

# rabbitmqctl rotate_logs[suffix] 

7.集群管理

# rabbitmqctl cluster clusternode… 

用户管理

1.添加用户

# rabbitmqctl add_user username password 

2.删除用户

# rabbitmqctl delete_user username 

3.修改密码

# rabbitmqctl change_password username newpassword 

4.列出所有用户

# rabbitmqctl list_users 

权限控制
1.创建虚拟主机

# rabbitmqctl add_vhost vhostpath 

2.删除虚拟主机

# rabbitmqctl delete_vhost vhostpath 

3.列出所有虚拟主机

# rabbitmqctl list_vhosts 

4.设置用户权限

# rabbitmqctl set_permissions [-p vhostpath] username regexp regexp regexp 

5.清除用户权限

# rabbitmqctl clear_permissions [-p vhostpath] username

6.列出虚拟主机上的所有权限

# rabbitmqctl list_permissions [-p vhostpath] 

7.列出用户权限

# rabbitmqctl list_user_permissions username