• 对于注定会优秀的人来说,他所需要的,只是时间----博主
  • 手懒得,必受贫穷,手勤的,必得富足----《圣经》
  • 帮助别人,成就自己。愿君在本站能真正有所收获!
  • 如果你在本站中发现任何问题,欢迎留言指正!
  • 宝剑锋从磨砺出,梅花香自苦寒来!
  • 本站开启了防爆破关小黑屋机制,如果您是正常登录但被关进小黑屋,请联系站长解除!

<三>Rabbitmq学习笔记–Rabbitmq使用以及管理

RabbitMQ eryajf 3周前 (07-01) 101°C 已收录 0个评论
本文预计阅读时间 15 分钟

1,添加用户并授权

# 创建用户
rabbitmqctl add_user rabbitmq '12345678'

# 添加用户[管理员]标签
rabbitmqctl set_user_tags rabbitmq administrator

# 创建virtual host
rabbitmqctl add_vhost /vhost1

# 为用户授权可以访问的[virtual host]和操作类型[配置、读、写]
rabbitmqctl set_permissions -p /vhost1 rabbitmq '.*' '.*' '.*'

# 启用rabbitmq_management
rabbitmq-plugins enable rabbitmq_management

2,RabbitMQ权限详解

# 角色列表:
none、management、policymaker、monitoring、administrator

# 角色权限:
【none】
不能访问 management_plugin(图形管理界面)

【management】(单一virtual hosts用户)
用户可以通过AMQP做的任何事外加:
列出自己可以通过AMQP登入的virtual hosts  
查看自己的virtual hosts中的queues, exchanges 和 bindings
查看和关闭自己的channels 和 connections
查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动

【policymaker】
management可以做的任何事外加:
查看、创建和删除自己的virtual hosts所属的policies和parameters

【monitoring】(监控用户)
management可以做的任何事外加:
列出所有virtual hosts,包括他们不能登录的virtual hosts
查看其他用户的connections和channels
查看节点级别的数据如clustering和memory使用情况
查看真正的关于所有virtual hosts的全局的统计信息

【administrator】(全权用户)
policymaker和monitoring可以做的任何事外加:
创建和删除virtual hosts
查看、创建和删除users
查看创建和删除permissions
关闭其他用户的connections

3,rabbitmq-plugins命令详解

# 格式:
rabbitmq-plugins <command> [<command options>]

# 显示所有的的插件 -v:显示插件版本 -m:显示插件名称 -E:显示明确已经开启的插件 -e:显示明确和后台开启的插件
rabbitmq-plugins list [-v|-m] [-E|-e] [<pattern>]

# 启用插件
rabbitmq-plugins enable <plugin1> <plugin2> ... <plugin_n>

# 禁用插件
rabbitmq-plugins disable <plugin1> <plugin2> ... <plugin_n>

# 启用所有插件
rabbitmq-plugins enable \
amqp_client \
cowboy \
cowlib \
rabbitmq_amqp1_0 \
rabbitmq_auth_backend_ldap \
rabbitmq_auth_mechanism_ssl \
rabbitmq_consistent_hash_exchange \
rabbitmq_event_exchange \
rabbitmq_federation \
rabbitmq_federation_management \
rabbitmq_jms_topic_exchange \
rabbitmq_management \
rabbitmq_management_agent \
rabbitmq_management_visualiser \
rabbitmq_mqtt \
rabbitmq_recent_history_exchange \
rabbitmq_sharding \
rabbitmq_shovel \
rabbitmq_shovel_management \
rabbitmq_stomp \
rabbitmq_top \
rabbitmq_tracing \
rabbitmq_trust_store \
rabbitmq_web_dispatch \
rabbitmq_web_stomp \
rabbitmq_web_stomp_examples \
sockjs \

4,rabbitmqctl命令全解(CLI模式管理)

# 格式:
rabbitmqctl [-n <node>] [-q] <command> [<command options>]

# 【基本命令】

# 停止运行rabbitmq
rabbitmqctl stop <pid_file>

# 停止运行rabbitmq上的应用
rabbitmqctl stop_app

# 等待rabbitmq服务启动
rabbitmqctl wait <pid_file>

# 初始化node状态(要先执行rabbitmqctl stop_app)
rabbitmqctl reset

# 强制初始化node状态
rabbitmqctl force_reset

# 轮转日志文件
rabbitmqctl rotate_logs <suffix>

# 【cluster集群管理】

# 默认node以disc node加入集群,--ram表示node以ram node加入集群中(要先执行rabbitmqctl stop_app)
rabbitmqctl join_cluster <node name> --ram

# 显示cluster中的所有node
rabbitmqctl cluster_status

# 改变一个cluster中node的模式,该节点在转换前必须先停止,不能把一个集群中唯一的disk node转化为ram node
rabbitmqctl change_cluster_node_type disc | ram

# 远程移除cluster中的一个node,前提是该node必须处于offline状态,如果是online状态,则需要加--offline参数。
rabbitmqctl forget_cluster_node --offline

# 远程更新cluster中的node
rabbitmqctl update_cluster_nodes clusternode

# 同步镜像队列
rabbitmqctl sync_queue queue

# 取消同步镜像队列
rabbitmqctl cancel_sync_queue queue 

# 【用户管理】

# 添加rabbitmq用户
rabbitmqctl add_user <username> <password>

# 删除rabbitmq用户
rabbitmqctl delete_user <username>

# 改变rabbitmq用户密码
rabbitmqctl change_password <username> <newpassword>

# 清除用户密码,禁止用户登录
rabbitmqctl clear_password <username>

# 设置用户标签
rabbitmqctl set_user_tags <username> <tag1> <tag2> ... <tag_n>

# 列出用户
rabbitmqctl list_users

# 创建一个vhosts
rabbitmqctl add_vhost <vhostpath>

# 删除一个vhosts
rabbitmqctl delete_vhost <vhostpath>

# 列出vhosts
rabbitmqctl list_vhosts <vhostinfoitem1> <vhostinfoitem2> ... <vhostinfoitem_n>

# 针对一个vhosts 给用户赋予相关权限
rabbitmqctl set_permissions [-p <vhostpath>] <user> <conf> <write> <read>

# 清除一个用户对vhosts的权限
rabbitmqctl clear_permissions [-p <vhostpath>] <username>

# 列出哪些用户可以访问该vhosts
rabbitmqctl list_permissions [-p <vhostpath>]

#列出该用户的访问权限
rabbitmqctl list_user_permissions <username>

# 修改vhost路径参数
rabbitmqctl set_parameter [-p <vhostpath>] <component_name> <key> <value>

# 清除vhost路径参数
rabbitmqctl clear_parameter [-p <vhostpath>] <component_name> <key>

# 列出vhost路径参数
rabbitmqctl list_parameters [-p <vhostpath>]

# 【策略policy管理】

# name:策略名称 pattern:匹配资源正则表达式 apply-to:策略应用类型范围,有[all、queues、exchange] priority:整数优先级 definition:json格式设置的策略
rabbitmqctl set_policy [-p <vhostpath>] [--priority <priority>] [--apply-to <apply-to>] <name> <pattern> <definition(json)>

#清除一个策略
rabbitmqctl clear_policy [-p <vhostpath>] <name>

# 列出已有的策略
rabbitmqctl list_policies [-p <vhostpath>]

# 【queues exchanges】

# 返回queue的信息,如果省略了-p参数,则默认显示的是"/"vhosts的信息。
rabbitmqctl list_queues [-p <vhostpath>] [<queueinfoitem> ...]

# 返回exchange的信息
rabbitmqctl list_exchanges [-p <vhostpath>] [<exchangeinfoitem> ...]

# 返回绑定信息
rabbitmqctl list_bindings [-p <vhostpath>] [<bindinginfoitem> ...]

# 返回链接信息
rabbitmqctl list_connections [<connectioninfoitem> ...]

# 返回目前所有的channels
rabbitmqctl list_channels [<channelinfoitem> ...]

# 返回consumers
rabbitmqctl list_consumers [-p <vhostpath>]

# 显示broker的状态
rabbitmqctl status

# 显示环境参数的信息
rabbitmqctl environment

# 返回一个服务状态report
rabbitmqctl report

# 返回一个服务状态eval
rabbitmqctl eval <expr>

5,rabbitmqctl管理方式

# 启用rabbitmq_management
rabbitmq-plugins enable rabbitmq_management
# (不成功则先执行:rabbitmqctl start_app)

# web访问:
http://[ip]:15672

# api访问:
http://[ip]:15672/api

# cli访问:
http://[ip]:15672/cli

weinxin
扫码订阅本站,第一时间获得更新
微信扫描二维码,订阅我们网站的动态,另外不定时发送WordPress小技巧,你可以随时退订,欢迎订阅哦~

二丫讲梵 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明<三>Rabbitmq学习笔记–Rabbitmq使用以及管理
喜欢 (0)
[如果想支持本站,可支付宝赞助]
分享 (0)
eryajf
关于作者:
学无止境,我愿意无止境学。书山有路,我愿意举身投火,淬炼成金!

您必须 登录 才能发表评论!