RabbitMQ的vhost和user
今天来学习RabbitMQ 的 vhost 和用户的概念。
上篇初步安装 RabbitMQ 知道了安装好之后,默认有一个”guest“账户,这个账户只能在 localhost 下登录。如果需要远程登录,则需要另开一个账户,可以对不同的账户分配不同的权限,以便于我们开发和运维。
vhost
每一个RabbitMQ 消息服务器都可以创建虚拟消息服务器,称之为虚拟主机 vhost,它可以称之为 mini 版的RabbitMQ 服务器,拥有自己的队列、交换器和绑定(这些概念以后会学到)。每个 vhots 的数据都是绝对隔离的。
vhost是 AMQP协议的基础,必须在连接时指定。由于 RabbitMQ包含了默认 vhost :“/”,因此使用起来非常简单,在 RabbitMQ 中,权限的控制是基于 vhost 的。
可以把 vhost 理解为数据库中创建的 db。
创建 vhost
1 | rabbitmqctl add_vhost vhost_name |
删除 vhost
1 | rabbitmqctl delete_vhost vhost_name |
管理用户
添加用户
1 | rabbitmqctl add_user zheng yakai |
这样我们就创建了一个用户名是‘’zheng”,密码是“yakai”的用户。
删除用户
如果想删除该用户,只需运行:
1 | //删除用户须谨慎操作。 |
查看用户
1 | rabbitmqctl list_user |
修改用户密码
1 | //将 zheng 用户的密码修改为 newpwd |
可以为不同的用户分配不同的 vhost,不同的 vhost 具有不同的权限。可以执行:
1 | rabbitmqctl set_permissions -p vhost_name \ username ".*",".*",".*" |
把 set_permissions 命令拆开解读:
-p vhost_name:这告诉我们应该应用于那个 vhost 上。
username:被授予权限的用户。
“.*”:这是授予的权限。
- Title: RabbitMQ的vhost和user
- Author: 薛定谔的汪
- Created at : 2018-03-18 18:35:19
- Updated at : 2023-11-17 19:37:37
- Link: https://www.zhengyk.cn/2018/03/18/mq/rabbitmq/user-vhost/
- License: This work is licensed under CC BY-NC-SA 4.0.