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

相关推荐
初次攀爬者7 小时前
RabbitMQ的消息模式和高级特性
后端·消息队列·rabbitmq
初次攀爬者2 天前
ZooKeeper 实现分布式锁的两种方式
分布式·后端·zookeeper
让我上个超影吧3 天前
消息队列——RabbitMQ(高级)
java·rabbitmq
塔中妖3 天前
Windows 安装 RabbitMQ 详细教程(含 Erlang 环境配置)
windows·rabbitmq·erlang
断手当码农3 天前
Redis 实现分布式锁的三种方式
数据库·redis·分布式
初次攀爬者3 天前
Redis分布式锁实现的三种方式-基于setnx,lua脚本和Redisson
redis·分布式·后端
业精于勤_荒于稀3 天前
物流订单系统99.99%可用性全链路容灾体系落地操作手册
分布式
Ronin3053 天前
信道管理模块和异步线程模块
开发语言·c++·rabbitmq·异步线程·信道管理
Asher05094 天前
Hadoop核心技术与实战指南
大数据·hadoop·分布式
凉凉的知识库4 天前
Go中的零值与空值,你搞懂了么?
分布式·面试·go