本问主要介绍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查看

.Net Redis实战指南——常用命令的更多相关文章

  1. redis 介绍和常用命令

    redis 介绍和常用命令 redis简介 Redis 是一款开源的,基于 BSD 许可的,高级键值 (key-value) 缓存 (cache) 和存储 (store) 系统.由于 Redis 的键 ...

  2. Docker 入门指南——常用命令

    前面已经介绍了 Docker 的安装方式,本文总结一下使用 Docker 的基本概念和常用命令. 基本概念 镜像 Image 镜像是一些打包好的已有的环境,可以被用来启动和创建容器 容器 Contai ...

  3. Redis数据类型和常用命令

    Redis相较于其它的数据库虽然简单,但是要熟记所有命令的用法也并非易事.一个简单的技巧是通过要操作的数据类型来将这些命令进行结构化. 数据类型和对应命令 所有存储于redis中的数据都对应于一个键值 ...

  4. 记录redis安装及常用命令

    Redis安装及常用命令 一.安装 1.下载,解压,进入redis解压目录,make. make PREFIX=目录/redis install :安装到指定目录文件名为redis. 2.将解压目录里 ...

  5. 数据库之redis篇(2)—— redis配置文件,常用命令,性能测试工具

    redis配置 如果你是找网上的其他教程来完成以上操作的话,相信你见过有的启动命令是这样的: 启动命令带了这个参数:redis.windows.conf,由于我测试环境是windows平台,所以是这个 ...

  6. VMWare12安装CentOS7以及redis安装和常用命令

    一.vmware安装centos7后没有网卡 VMWare 12版本不提供32位安装程序,只有64位安装程序,如果在安装CentOS时,选择的是CentOS而不是CentOS 64位,则会出现Cent ...

  7. redis数据类型及常用命令介绍(图文实例)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhgAAAFLCAYAAACUdvXUAAAgAElEQVR4nO3da1da58L2fT5KfPvc96 ...

  8. redis笔记总结之redis数据类型及常用命令

    三.常用命令 3.1 字符串类型(string) 字符串类型是Redis中最基本的数据类型,一个字符串类型的键允许存储的数据的最大容量为512MB. 3.1.1 赋值与取值: SET key valu ...

  9. Redis学习笔记--常用命令

    以下为本人学习Redis的备忘录,记录了大部分常用命令 1.客户端连接redis服务端: ===启动Redis服务端 redis-server /yourpath/redis.conf ===启动Re ...

随机推荐

  1. Android开机时间分析

    http://blog.csdn.net/huangyabin001/article/details/42777703

  2. 学习Canvas绘图与动画基础 绘制直线(二)

    1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="U ...

  3. 2 IDEA——新建一个java项目

    快捷键 public class Hello { // psvm public static void main(String[] args) { // sout System.out.println ...

  4. PHP 上传文件至阿里云OSS对象存储

    简述 1.阿里云开通对象存储服务 OSS 并创建Bucket 2.下载PHP SDK至框架扩展目录,点我下载 3.码上code 阿里云操作 开通对象存储服务 OSS 创建 Bucket 配置Acces ...

  5. SpringBoot 项目 部署 jar方式

    SpringBoot部署-jar方式 步骤1部署方式 Springboot 和我们之前学习的web 应用程序不一样,其本质上是一个 Java 应用程序,那么又如何部署呢?  通常来说,Springbo ...

  6. easy-flows源码研习

    一.项目概述 1.原项目github地址:https://github.com/j-easy/easy-flows.git 2.easy-flows可以用非常简易的api创建常用的可组合的工作流.涵盖 ...

  7. BUAA软件工程_结对编程

    1.写在前面 项目 内容 所属课程 2020春季计算机学院软件工程(罗杰 任健) (北航) 作业要求 结对项目作业 课程目标 培养软件开发能力 本作业对实现目标的具体作用 培养结对编程开发项目的能力 ...

  8. 认识 Spring Cloud Alibaba

    个人理解 Spring Cloud Alibaba 就是 Spring Cloud 的微服务规范的一种实现,外加一些阿里云的商业组件 Spring Cloud 是什么 Spring Cloud 为开发 ...

  9. bash调试 脚本第一行 加set -x #!/bin/expact -d

    #!/bin/bash set -x 脚本第一行加 #!/bin/expact -d

  10. 详解Linux中的cat文本输出命令用法

    作系统 > LINUX >   详解Linux中的cat文本输出命令用法 Linux命令手册   发布时间:2016-01-14 14:14:35   作者:张映    我要评论   这篇 ...