RabbitMQ:命令行、管理平台

来自Wikioe
跳到导航 跳到搜索


命令行

管控台可以查看到 RabbitMQ 服务的整体运行情况,也可以进行很多相关的操作,这些操作其实都可以使用命令行来完成,而且命令行提供的功能更加强大。

常用的命令:

RabbitMQ:常用命令.png

启动命令

RabbitMQ 有两种启动方式:

  1. 应用启动:
    1. rabbitmq-server:直接启动。 ——【关闭窗口,或者在该窗口使用其他命令,应用就会停止】
    2. rabbitmq-server -detached:后台启动。 ——【关机则应用关闭】
      • 可用 rabbitmqctl stop 停止应用。
  2. 服务启动:
    先以 rabbitmq-service install 安装服务,再以 rabbitmq-service start 启动服务。 ——【可设置随开机启动服务】


Linux 下相关命令:

#启动服务
systemctl start rabbitmq-server

#查看状态
systemctl status rabbitmq-server

#设置为开机启动
systemctl enable rabbitmq-server



📌 rabbitmq-serverrabbitmqctl start_apprabbitmqctl stop_apprabbitmqctl stop/shutdown

    区别在于操作 RabbitMQ 的同时,是否操作 Erlang[1]:

    1、rabbitmq-server:启动 RabbitMQ + Erlang;
       rabbitmqctl start_app:启动 RabbitMQ;

    2、rabbitmqctl stop/shutdown:停止 RabbitMQ + Erlang;
       rabbitmqctl stop_app:停止 RabbitMQ;

常用命令[2]

命令 命令描述
rabbitmq-service

“RabbitMQ 服务”

  • rabbitmq-service install:安装服务
  • rabbitmq-service remove:卸载服务

【以下,与 services.msc 中操作一样】

  • rabbitmq-service start:启动服务
  • rabbitmq-service stop:停止服务
  • rabbitmq-service enable:设置服务开机启动
  • rabbitmq-service disable:取消服务开机启动
rabbitmq-plugins

“RabbitMQ 插件”

  • rabbitmq-plugins list:查看安装的插件
  • rabbitmq-plugins enable <plugin>:启用插件
  • rabbitmq-plugins disable <plugin>:停用插件
如:rabbitmq-plugins enable rabbitmq_management,启用“监控管理器”(管理平台)
rabbitmqctl

“RabbitMQ 管理”

应用:

  • rabbitmqctl await_startup:等待 RabbitMQ 应用程序在目标节点上启动
  • rabbitmqctl start_app:启动 RabbitMQ 应用,但保持“运行环境(Erlang VM)”运行
    • ——【只操作“RabbitMQ 节点”,不操作“Erlang 环境”】[1]
  • rabbitmqctl stop_app:停止 RabbitMQ 应用,保持“运行环境(Erlang VM)”运行
    • ——【只操作“RabbitMQ 节点”,不操作“Erlang 环境”】[1]
  • rabbitmqctl stop <pid_file>[3]:停止 RabbitMQ 应用,及其“运行环境(Erlang VM)”
    • ——【操作“RabbitMQ 节点”和“Erlang 环境”】[1]
  • rabbitmqctl shutdown:停止 RabbitMQ 应用,及其“运行环境(Erlang VM)”
    • ——【操作“RabbitMQ 节点”和“Erlang 环境”】[1]
  • rabbitmqctl status:查看节点状态

队列:

  • rabbitmqctl list_queues:查看所有的队列
  • rabbitmqctl reset:将 RabbitMQ 节点重置还原到最初状态
    • 包括:从原来所在的集群中删除此节点,从管理数据库中删除所有的配置数据(如:配置的用户、 vhost 等),以及删除所有的持久化消息。
    • 使用前必须必须停止 RabbitMQ 应用(“rabbitmqctl stop_app”)

用户:

  • rabbitmqctl list_users: 列出所有用户
  • rabbitmqctl add_user <username> <password>:添加用户
  • rabbitmqctl delete_user <username>:删除用户
  • rabbitmqctl change_password <username> <password>:修改用户密码
  • rabbitmqctl set_user_tags <username> <role>:设置用户角色
    • 角色,如“administrator”表示管理员;
  • rabbitmqctl clear_permissions -p <vhostpath> <username>:清除用户在虚拟主机上的权限
  • rabbitmqctl set_permissions -p <vhostpath> <username> <ConfP> <WriteP> <ReadP>:授权用户在虚拟主机上的权限
    • 权限,如“'.*' '.*' '.*'”表示所有权限

主机:

  • rabbitmqctl list_vhosts:列出所有虚拟主机
  • rabbitmqctl add_vhost <vhostpath>:创建虚拟主机
  • rabbitmqctl delete_vhost <vhostpath>: 删除虚拟主机
  • rabbitmqctl list_permissions -p <vhostpath>:列出虚拟主机上所有权限


。。。

rabbitmq-diagnostics

诊断和健康检查

。。。
rabbitmq-upgrade

维护升级任务

。。。
  • 所有命令都可以help查看命令帮助信息。
    如:rabbitmq-service help
  • “RabbitMQ node”:即 RabbitMQ 实例。

管理平台

RabbitMQ提供了一个可视化的Web后台,方便了解队列的运行情况,也可以对RabbitMQ做一些管理操作。

访问 RabbitMQ 管理后台地址:

RabbitMQ:管理后台.png

后台首页

RabbitMQ:管理后台:后台首页.png

客户端连接情况

RabbitMQ:管理后台:客户端连接情况.png

交换机情况

RabbitMQ:管理后台:交换机情况.png

队列情况

RabbitMQ:管理后台:队列情况.png

队列详情

RabbitMQ:管理后台:队列详情.png

参考

  1. 1.0 1.1 1.2 1.3 1.4 ——RabbitMQ 依赖于 Erlang 环境:

    RabbitMQ 是一个在 AMQP(Advanced Message Queuing Protocol) 协议标准基础上完整的,可服用的企业消息系统。它遵循 Mozilla Public License 开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,RabbitMQ 是建立在 Erlang OTP 平台上。

  2. 参考:Command Line Tools
  3. pid_file”:是通过“rabbitmq-server”命令启动 RabbitMQ 服务时创建的,默认情况下存放于 mnesia 目录中。
    • 但若通过“rabbitmq-server -detach”命令启动 RabbitMQ 服务,则不会生成 “pid_file” 文件。