197、管理 RabbitMQ 的虚拟主机

开启Rabbitmq的一些命令:

小黑窗输入:

rabbitmq-plugins enable rabbitmq_management 启动控制台插件,

就是启动登录rabbitmq控制台的页面,rabbitmq_management 代表了RabbitMQ的管理界面。

rabbitmq-server 启动rabbitMQ服务器

启动浏览器访问 http://localhost:15672/ 将看到登录界面

★ 何谓虚拟主机

RabbitMQ虚拟主机只是相当于一个命名空间,用于组织 Exchange 和 Queue。

【备注】:有点类似于Java的包。

比如RabbitMQ可以先在"/"虚拟主机下创建一个名为 my.fanout 的 Exchange,

然后又可在"fkjava-vhost"虚拟主机下创建一个名为 my.fanout 的 Exchange。

★ 添加虚拟主机

控制台添加虚拟主机

(1)单击管理页面右边的"Virtual Hosts"标签,系统进入虚拟主机管理界面 。

(2)在该界面上输入虚拟主机的Name、Tags信息,然后单击"Add virtual host"按钮即可成功添加虚拟主机。

添加虚拟主机时,只有Name是必填信息,Description和Tags都是选填信息。

▲ 上面创建虚拟主机的过程可通过如下命令来完成:

多个标签用逗号隔开

rabbitmqctl add_vhost 虚拟主机名 --tags "Tags1,Tags2"

rabbitmqctl add_vhost my-vhost02 --tags "my-tags02,my-tags022"

【备注】

如果通过管理控制台来添加虚拟主机,那RabbitMQ会自动为系统中唯一用户添加访问该虚拟主机的权限。

如果通过命令来添加虚拟主机,此时添加的虚拟主机将没有任何用户具有访问权限。

如果有两个用户的话,用控制台新增虚拟主机是否还会被该虚拟主机添加系统中的用户访问该虚拟主机的权限?如图:

我再添加一个用户 aaa

已经有两个用户了,这时再添加虚拟主机,rabbitmq 依然会自动给 ljh 用户添加这个虚拟主机的操作权限

★ 为新的虚拟主机分配权限

重复上面为用户分配权限的步骤,这一次选中新建的虚拟主机,这样就可为新的虚拟主机分配权限。

这里的为新的虚拟主机分配权限,就是给用户添加这个虚拟主机的同时,也给虚拟主机添加能操作哪些实体的权限,用正则表达式来设置。如图:

把刚刚添加的 my-vhost02 删除掉,用命令添加。

如图:现在的 ljh 用户 只拥有 / 和 my-vhost01 这两个虚拟主机的操作权限

使用如下命令也一样:

给这个 ljh 用户添加 my-vhost02 虚拟主机 及 虚拟主机的操作权限( 正则表达式: "." "." ".*")

rabbitmqctl set_permissions --vhost "my-vhost02" ljh ".*" ".*" ".*"

在虚拟主机下添加 Exchange

在不同的虚拟主机下,可以创建同个名字的 Exchange

比如RabbitMQ可以先在"/"虚拟主机下创建一个名为 abc 的 Exchange,

然后又可在"my-vhost01"虚拟主机下创建一个名为 abc 的 Exchange。

如图:现在是没添加之前

在不同的虚拟主机都创建一个 abc 的 exchange

相关推荐
Allen Bright42 分钟前
Spring Boot 整合 RabbitMQ:手动 ACK 与 QoS 配置详解
spring boot·rabbitmq·java-rabbitmq
MZWeiei1 小时前
Zookeeper的选举机制
大数据·分布式·zookeeper
学计算机的睿智大学生1 小时前
Hadoop集群搭建
大数据·hadoop·分布式
一路狂飙的猪1 小时前
RabbitMQ的工作模型
分布式·rabbitmq
miss writer1 小时前
Redis分布式锁释放锁是否必须用lua脚本?
redis·分布式·lua
m0_748254882 小时前
DataX3.0+DataX-Web部署分布式可视化ETL系统
前端·分布式·etl
字节程序员3 小时前
Jmeter分布式压力测试
分布式·jmeter·压力测试
ProtonBase3 小时前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构
时时刻刻看着自己的心3 小时前
clickhouse分布式表插入数据不用带ON CLUSTER
分布式·clickhouse
Data跳动12 小时前
Spark内存都消耗在哪里了?
大数据·分布式·spark