vhost 虚拟主机 是 rabbitMQ的虚拟机 相当于系统中的虚拟机 RabbitMQ使用vhost隔离各个用户可以避免队列和交换器的命名冲突。RabbitMQ提供默认的虚拟主机“/”,如果不需要多个vhost可以直接使用这个默认的vhost。
vhost之间是相互独立的(就像docker一样),这避免了各种命名的冲突。
- 列举所有虚拟主机 rabbitmqctl list_vhosts
- 添加虚拟主机 rabbitmqctl add_vhost <vhost_name>
- 删除虚拟主机rabbitmqctl delete_vhost <vhost_name>
- 添加用户 add_user <username> <password>
- 设置用户标签 set_user_tags <username> <tag> // Admin | Monitoring | Policymaker | Management | Impersonator | None
- 设置权限 set_permissions [-p <vhost>] <user> <conf> <write> <read>
权限配置包括:配置(队列和交换机的创建和删除)、写(发布消息)、读(有关消息的任何操作,包括清除这个队列)
- conf:一个正则表达式match哪些配置资源能够被该用户访问。
- write:一个正则表达式match哪些配置资源能够被该用户读。
- read:一个正则表达式match哪些配置资源能够被该用户访问