zoukankan      html  css  js  c++  java
  • Net RabbitMQ实战

    .Net RabbitMQ实战指南——常用命令

     

    本问主要介绍rabbitmqctl工具的常用命令。

    vhost

    一个RabbitMQ服务器可以创建多个虚拟的消息服务器,称之为虚拟主机(virtual host),简称为vhost。vhost之间是绝对隔离的,能将同一个RabbitMQ中的客户分开,又能避免队列和交换器等命名冲突。客户端在连接的时候必须制定一个vhost。RabbitMQ默认创建的vhost为“/”。

    rabbitmqctl add_vhost {vhost}  创建一个新的vhost

    sudo rabbitmqctl list_vhosts  列出所有vhost

    rabbitmqctl delete_vhost {vhost} 删除一个vhost

    用户

    用户是访问控制(Access Control)的基本单元,且单个用户可以跨越多个vhost进行授权。

    rabbitmqctl add_user {username} {password}  创建用户

    rabbitmqctl change_password {username} {newpassword} 更改指定用户的密码

     

    rabbitmqctl clear_password {username} 清除指定用户密码

    rabbitmqctl authenticate_user {username} {password} 验证用户密码

    rabbitmqctl delete_user {username}  删除指定用户

    rabbitmqctl list_users 列出当前所有用户

    可以看到新添加的user1 tags是[],可以调用set_user_tags命令设置用户标签。

    rabbitmqctl set_user_tags {username} {tag...}  设置用户角色标签(设置后之前现有的标签都会被删除)

    rabbitmq支持的标签有如下:

    none:无任何角色。新创建的用户的角色默认为none。

    management:可以访问Web管理页面。

    policymaker:包含management的所有权限,并且可以管理策略(Policy)和参数(Parameter)。

    monitoring:包含management的所有权限,并且可以看到所有连接、信道及节点相关的信息。

    administartor:包含monitoring的所有权限,并且可以管理用户、虚拟主机、权限、策略、参数等。administator代表了最高的权限。

    权限

    为了更好的理解user vhost之间的权限关系,再新增一个vhost(vhost1)。

    rabbitmqctl list_user_permissions  {username} 列举权限信息

    可以看到mymq账号只有“/”的操作权限

    rabbitmqctl set_permissions [-p vhost] {user}{conf}{write}{read}  设置用户在vhost的权限

    set_permissions命令参数说明:

    vhost:授予用户访问权限的vhost名称,可以设置为默认值,即vhost为“/”。

    user:可以访问指定vhost的用户名。

    conf:一个用于匹配用户在哪些资源上拥有可配置权限的正则表达式。

    write:一个用于匹配用户在哪些资源上拥有可写权限的正则表达式。

    read:一个用于匹配用户在哪些资源上拥有可读权限的正则表达式。

    注:可配置指的是队列和交换器的创建及删除之类的操作;可写指的是发布消息;可读指与消息有关的操作,包括读取消息及清空整个队列等。

    rabbitmqctl list_permissions [-p vhost] 列举vhost权限信息

    rabbitmqctl clear_permissions [-p vhost] {username}  清除用户在vhost的权限

    其他

    rabbitmq-plugins enable [plugin-name]  启动插件

    rabbitmq-plugins disable [plugin-name] 关闭插件

    如Web插件可以通过rabbitmq-plugins enable rabbitmq_management命令开启。开启之后重启RabbitMQ服务,浏览器访问http://localhost:15672即可打开Web管理插件(第一次可使用默认的guest/guest用户和密码登录)。

    rabbitmqctl list_consumers [-p vhost]  列举消费者信息,默认为“/”

     rabbitmqctl status 显示Broker的状态

    rabbitmqctl node_health_check 对RabbitMQ节点进行健康检查

    rabbitmqctl environment  显示每个运行程序环境中每个变量的名称和值。

    rabbitmqctl report  为所有服务器状态生成一个服务器状态报告

    以上两个命令输出很复杂有机会在细看了。

    list_exchanges [-p vhost] 列举交换机信息,默认为“/”

    list_queues  [-p vhost]  列举队列信息,默认为“/”

    更多应用和集群相关命令可通过 rabbitmqctl  help查看

    作者:Leo_wl
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    版权信息
  • 相关阅读:
    聊聊tcpdump与Wireshark抓包分析
    TCP三次握手与Tcpdump抓包分析过程
    grep 同时满足多个关键字和满足任意关键字
    java监听器原理理解与实现
    Linux下如何查看哪些端口处于监听状态
    netstat命令怎么查看端口是否占用
    jQuery Mobile 入门基础教程
    用U盘与移动硬盘制作WIN7启动盘(亲自实践)
    【iOS】用Layer创建一个三维模型以及拖动
    Java中的位运算符、移位运算
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/15172954.html
Copyright © 2011-2022 走看看