美文网首页
RabbitMQ :常用命令与图形管理及用户权限

RabbitMQ :常用命令与图形管理及用户权限

作者: 95a6af369245 | 来源:发表于2019-01-22 17:33 被阅读42次

      RabbitMQ 安装

      安装 RabbitMQ 前要先安装 Erlang,可以去 Erlang 官网下载,接着去 RabbitMQ 官网下载安装包,解压缩即可

      Mac 用户可以通过 HomeBrew 来安装,会自动添加依赖的 Erlang

      brew update

      brew install rabbitmq

      RabbitMQ 运行和管理

      要启动 RabbitMQ 只需在 sbin 目录下执行

      /sbin/rabbitmq-server

      若想要 RabbitMQ 以守护程序的方式在后台运行,只需在启动时加上 detached 参数

      /sbin/rabbitmq-server -detached

      查询服务器状态,可通过 rabbitmqctl,通过 status 参数

      /sbin/rabbitmqctl status

      关闭 RabbitMQ 节点,在 Erlang 中有两个概念:节点和应用程序,节点为 Erlang 虚拟机的每个实例,多个 Erlang 应用程序可以运行在同一个节点之上,节点之间可进行通信(无论是否运行在同一台服务器),比如一个运行在节点 A 上得应用程序可以调用节点 B 上应用程序的方法,就好像调用本地函数一样

      如果要关闭整个 RabbitMQ 节点可以使用 stop 参数,它会和本地节点通信并指示其干净得关闭

      /sbin/rabbitmqctl stop

      也可以指定关闭不同得节点,包括远程节点,只需传入参数 -n node,默认 node 名称是 rabbit@server,如果主机名是 server.example.com,那么 node 名称就是 rabbit@server.example.com

      /sbin/rabbitmqctl -n rabbit@server.example.com stop

      关闭 RabbitMQ 应用程序,如果只想关闭应用程序,同时保持 Erlang 节点运行则可以使用 stop_app

      /sbin/rabbitmqctl stop_app

      启动 RabbitMQ 应用程序

      /sbin/rabbitmqctl start_app

      重置 RabbitMQ 节点,它将会清除所有的队列

      /sbin/rabbitmqctl reset

      查看已声明的队列

      /sbin/rabbitmqctl list_queues

      查看交换器

      /sbin/rabbitmqctl list_exchanges

      改命令还可以附加参数,比如列出交换器名称、类型、是否持久化、是否自动删除

      /sbin/rabbitmqctl list_exchanges name type durable auto_delete

      查看绑定

      /sbin/rabbitmqctl list_bindings

      RabbitMQ 用户与权限

      用户角色分类

      none:普通的消息生产者和消费者、不能访问 management plugin

      management:普通的管理者,仅可登录管理控制台,无法看见节点信息、无法对 policies 进行管理

      policymaker:策略定制者,相比 management 增加了查看、创建、删除 virtual hosts 所属的 policies 和 parameters

      monitoring:相比 management 增加了列出 virutual hosts,包括 virtual hosts,可以查看 rabbitmq 节点相关信息(进程数、内存使用情况、磁盘使用情况)

      administrator:超级管理员

      用户管理

      创建用户

      rabbitmqctl add_user {用户名} {密码} #创建用户rabbitmqctl set_user_tags {用户名} {权限} #设置权限// 例如创建一个超级用户rabbitmqctl add_user admin1 admin1

      rabbitmqctl set_user_tags admin1 administrator

      查看用户列表

      rabbitmqctl list_users

      用户权限

      rabbitmqctl add_vhost#添加 Virtual Hosts

      rabbitmqctl delete_vhost#删除 Virtual Hosts

      // 添加 Users

      rabbitmqctl add_userrabbitmqctl set_user_tags...

      rabbitmqctl set_permissions [-p]// 使用户 user1 具有 vhost1 这个 virtual host 中所有资源的配置、写、读权限

      rabbitmqctl set_permissions -p vhost1 user1 '.*' '.*' '.*'

      // 查看权限

      rabbitmqctl list_user_permissions user1

      rabbitmqctl list_permissions -p vhost1

      // 清除权限

      rabbitmqctl clear_permissions [-p VHostPath] User

      删除用户

      rabbitmqctl delete_user Username

      修改用户密码

      rabbitmqctl change_password Username Newpassword

      RabbitMQ 图形管理界面

      开启 RabbitMQ 图形管理插件

      rabbitmq-plugins enable rabbitmq_management

      启动 RabbitMQ

      rabbitmq-server -detached

      添加用户

      rabbitmqctl add_user admin 123456

      添加权限

      rabbitmqctl set_permissions -p / admin .* .* .*

      修改用户角色

      rabbitmqctl set_user_tags admin administrator

      访问 http://localhost:15672,通过 admin 123456 登录 RabbitMQ 管理界面

    相关文章

      网友评论

          本文标题:RabbitMQ :常用命令与图形管理及用户权限

          本文链接:https://www.haomeiwen.com/subject/lzrrjqtx.html