RabbitMQ的vhost和user

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
2
//删除用户须谨慎操作。
rabbitmqctl delete_user zheng

查看用户

1
rabbitmqctl list_user

修改用户密码

1
2
//将 zheng 用户的密码修改为 newpwd
rabbitmqctl change_password 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.