RabbitMQ-rabbitmqctl和插件使用(四)

rabbitmqctl

说明

进入mq的bin目录 cd /usr/local/Cellar/rabbitmq/3.7.8/sbin

./rabbitmqctl [-n node] [-t timeout] [-q command] [command options.....]

运行:./rabbitmqctl (默认当前 适合本地)

虚拟主机

虚拟主机将队列元数据绑定的关系等进行完全隔离 当我们mq业务庞大时可以通过虚拟主机将不同队业务隔离开来

添加

./rabbitmqctl add_vhost vhost1

查看所有虚拟主机

./rabbitmqctl list_vhosts

通过

./rabbitmqctl list_vhosts [vhostinfoitem...]可以指定查看n哪些详细信息

如:查看名字和是否启用tracing

./rabbitmqctl list_vhosts name tracing

删除

删除指定虚拟主机会删除主机下的交换器、队列、绑定关系、用户关系、权限等

./rabbitmqctl delete_vhost vhost1

权限

分配

./rabbitmqctl set_permissions [-p vhost] {user} {conf} {write} {read}
vhost:分配的虚拟主机 默认/
user 可以访问指定vhost的用户名
conf 用于配置用户在哪些资源上拥有可配置权限的正则表达式
write 用于配置用户在哪些资源上拥有可写正则表达式
read 用于配置用户在哪些资源上拥有可读正则表达式
例子:

./rabbitmqctl set_permissions -p vhost1 guest ".*" ".*" ".*"

用户guest可以访问vhost1 并且对所有资源都拥有可配置,可写可读的权限

./rabbitmqctl set_permissions -p vhost1 guest "^queue.*" ".*" ".*"
用户guest可以访问vhost1 对queue开头的资源拥有可配置权限对所有资源拥有可读可写的权限

 

删除权限

./rabbitmqctl clear_permissions -p vhost1 guest

 

查询虚拟所分配权限

./rabbitmqctl list_permissions -p vhost1

 

查看指定用户拥有权限

./rabbitmqctl list_user_permissions guest

用户管理

创建

./rabbitmqctl add_user aa123 aa123

修改密码

./rabbitmqctl change_password aa123 aa321

删除用户

./rabbitmqctl delete_user aa123

查看所有用户

./rabbitmqctl list_users
5种角色类型
nono 无任何角色,新建用户默认为nono
management 可以访问web页面
policymaker 包含management所有权限 并且可以管理策略
monitorning 包含management所有权限 并且可以看到所有连接、信道及节点相关信息
administrator 包含monitoring的所有权限 并且可以挂你蓝用户·用户、虚拟主机、权限、策略、参数等 代表最高权限
可以通过
./rabbitmqctl set_user_tags aa123 [tag....]来设置角色 设置后现有身份会被删除

./rabbitmqctl set_user_tags aa123 management

 

rabbitmqctl插件

通过web管理页面来管理上面的虚拟机 用户 权限等
存放在mq的plugins目录下
 

/usr/local/Cellar/rabbitmq/3.7.8/plugins

 

.ez结尾的就是插件

启动插件

如web管理页面

./rabbitmq-plugins enable rabbitmq_management

关闭插件

./rabbitmq-plugins disable rabbitmq_management

插件使用情况

./rabbitmq-plugins list
E*表示显式启动
e*表示隐式启动

应用管理

./rabbitmq-server -detached
后台进程启动mq
.
/rabbitmqctl stop [pid_file] 用于停止运行mq的erlang虚拟机rabbitmq服务应用 如果指定了pid_file(进程id)则会等待pid_file结束
.
/rabbitmqctl shutdown 与stop的区别会阻塞等待如果没有关闭成功则返回一个非0值
.
/rabbitmqctl stop_app 停止mq服务应用但是不会停止虚拟机(也不能发送消息和接收消息)
.
/rabbitmqctl start_app 启动mq服务应用
.
/rabbitmqctl reset 重置mq到最初状态 需要停止mq比如./rabbitmqctl stop_app
.
/rabbitmqctl fore_reset 强制重置

 

 

 

posted @ 2019-06-05 13:21  意犹未尽  阅读(1557)  评论(0编辑  收藏  举报