“RabbitMQ:命令行、管理平台”的版本间差异

来自Wikioe
跳到导航 跳到搜索
第31行: 第31行:
=== 常用命令<ref>参考:[https://www.rabbitmq.com/cli.html Command Line Tools]</ref> ===
=== 常用命令<ref>参考:[https://www.rabbitmq.com/cli.html Command Line Tools]</ref> ===
:{| class="wikitable"
:{| class="wikitable"
! 命令 !! 命令描述
! style="width:15%;" | 命令
! style="width:75%;" | 命令描述
|-
|-
| '''rabbitmq-service''':
| style="text-align:center" | '''rabbitmq-service''':
“RabbitMQ 服务”
“RabbitMQ 服务”
|  
|  
* rabbitmq-service install:安装服务
* rabbitmq-service '''install''':安装服务
* rabbitmq-service remove:卸载服务
* rabbitmq-service '''remove''':卸载服务
【以下,与 services.msc 中操作一样】
【以下,与 services.msc 中操作一样】
* rabbitmq-service start:启动服务
* rabbitmq-service '''start''':启动服务
* rabbitmq-service stop:停止服务
* rabbitmq-service '''stop''':停止服务
* rabbitmq-service enable:设置服务开机启动
* rabbitmq-service '''enable''':设置服务开机启动
* rabbitmq-service disable:取消服务开机启动
* rabbitmq-service '''disable''':取消服务开机启动
|-
|-
| '''rabbitmq-plugins''':
| style="text-align:center" |'''rabbitmq-plugins''':
“RabbitMQ 插件”
“RabbitMQ 插件”
|  
|  
* rabbitmq-plugins list:查看安装的插件
* rabbitmq-plugins list:查看安装的插件
* rabbitmq-plugins enable <plugin>:启用插件
* rabbitmq-plugins '''enable <plugin>''':启用插件
* rabbitmq-plugins disable <plugin>:停用插件
* rabbitmq-plugins '''disable <plugin>''':停用插件
: 如:rabbitmq-plugins enable rabbitmq_management,启用“监控管理器”(管理平台)
: 如:rabbitmq-plugins enable rabbitmq_management,启用“监控管理器”(管理平台)
|-
|-
| '''rabbitmqctl''':
| style="text-align:center" |'''rabbitmqctl''':
“RabbitMQ 管理”
“RabbitMQ 管理”
|  
|  
应用:
应用:
* rabbitmqctl start_app:启动应用
* rabbitmqctl await_startup:等待 RabbitMQ 应用程序在目标节点上启动
* rabbitmqctl stop_app:停止应用
* rabbitmqctl '''start_app''':启动 RabbitMQ 应用,但保持“运行环境(Erlang VM)”运行
* rabbitmqctl status:节点状态
** ——【只操作“RabbitMQ 节点”,不操作“Erlang 环境”】<ref name="RabbitMQ&Erlang"/>
* rabbitmqctl '''stop_app''':停止 RabbitMQ 应用,保持“运行环境(Erlang VM)”运行 
** ——【只操作“RabbitMQ 节点”,不操作“Erlang 环境”】<ref name="RabbitMQ&Erlang"/>
* rabbitmqctl '''stop <pid_file><ref>“pid_file”是通过“rabbitmq-server”命令启动 RabbitMQ 服务时创建的,默认情况下存放于 mnesia 目录中。
* 但若通过“rabbitmq-server -detach”命令启动 RabbitMQ 服务,则不会生成 “pid_file” 文件。</ref>''':停止 RabbitMQ 应用,及其“运行环境(Erlang VM)”
** ——【操作“RabbitMQ 节点”和“Erlang 环境”】<ref name="RabbitMQ&Erlang"/>
 
* rabbitmqctl '''shutdown''':停止 RabbitMQ 应用,及其“运行环境(Erlang VM)”
** ——【操作“RabbitMQ 节点”和“Erlang 环境”】<ref name="RabbitMQ&Erlang"/>
* rabbitmqctl '''status''':查看节点状态
队列:
队列:
* rabbitmqctl list_queues:查看所有的队列
* rabbitmqctl list_queues:查看所有的队列
* rabbitmqctl reset:清除所有的队列
* rabbitmqctl '''reset''':将 RabbitMQ 节点重置还原到最初状态
** 在 rabbitmqctl stop_app 后使用
** 包括:从原来所在的集群中删除此节点,从管理数据库中删除所有的配置数据(如:配置的用户、 vhost 等),以及删除所有的持久化消息。
** 使用前必须必须停止 RabbitMQ 应用(“rabbitmqctl stop_app”)
用户:
用户:
* rabbitmqctl list_users: 列出所有用户
* rabbitmqctl list_users: 列出所有用户
第78行: 第89行:
* rabbitmqctl delete_vhost <vhostpath>: 删除虚拟主机
* rabbitmqctl delete_vhost <vhostpath>: 删除虚拟主机
* rabbitmqctl list_permissions -p <vhostpath>:列出虚拟主机上所有权限
* rabbitmqctl list_permissions -p <vhostpath>:列出虚拟主机上所有权限
<br/>
。。。
|-
|-
| '''rabbitmq-diagnostics''':
| style="text-align:center" |'''rabbitmq-diagnostics''':
诊断和健康检查
诊断和健康检查
| 。。。
| 。。。
|-
|-
| '''rabbitmq-upgrade''':
| style="text-align:center" |'''rabbitmq-upgrade''':
维护升级任务
维护升级任务
| 。。。
| 。。。
第89行: 第102行:
:* 所有命令都可以<big>“<span style="color: green">'''help'''</span>”</big>查看命令帮助信息。
:* 所有命令都可以<big>“<span style="color: green">'''help'''</span>”</big>查看命令帮助信息。
:*: 如:<syntaxhighlight lang="bash" inline>rabbitmq-service help</syntaxhighlight>
:*: 如:<syntaxhighlight lang="bash" inline>rabbitmq-service help</syntaxhighlight>
:* “RabbitMQ node”:即 RabbitMQ 实例。


== 管理平台 ==
== 管理平台 ==

2022年12月22日 (四) 11:29的版本


命令行

管控台可以查看到 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

常用命令[1]

命令 命令描述
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 环境”】[2]
  • rabbitmqctl stop_app:停止 RabbitMQ 应用,保持“运行环境(Erlang VM)”运行
    • ——【只操作“RabbitMQ 节点”,不操作“Erlang 环境”】[2]
  • rabbitmqctl stop <pid_file>[3]:停止 RabbitMQ 应用,及其“运行环境(Erlang VM)”
    • ——【操作“RabbitMQ 节点”和“Erlang 环境”】[2]
  • rabbitmqctl shutdown:停止 RabbitMQ 应用,及其“运行环境(Erlang VM)”
    • ——【操作“RabbitMQ 节点”和“Erlang 环境”】[2]
  • 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. 参考:Command Line Tools
  2. 2.0 2.1 2.2 2.3 引用错误:无效<ref>标签;未给name属性为RabbitMQ&Erlang的引用提供文字
  3. “pid_file”是通过“rabbitmq-server”命令启动 RabbitMQ 服务时创建的,默认情况下存放于 mnesia 目录中。
    • 但若通过“rabbitmq-server -detach”命令启动 RabbitMQ 服务,则不会生成 “pid_file” 文件。