为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
大数据

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 <vhost>    #添加 Virtual Hosts
rabbitmqctl delete_vhost <vhost>    #删除 Virtual Hosts
// 添加 Users 
rabbitmqctl add_user <username> <password>    rabbitmqctl set_user_tags <username> <tag> ...    
rabbitmqctl set_permissions [-p <vhost>] <user> <conf> <write> <read>    // 使用户 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 管理界面



作者:林塬
链接:https://www.jianshu.com/p/0964f6c46dc5


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消