RabbitMQ:命令行、管理平台
跳到导航
跳到搜索
命令行
管控台可以查看到 RabbitMQ 服务的整体运行情况,也可以进行很多相关的操作,这些操作其实都可以使用命令行来完成,而且命令行提供的功能更加强大。
常用的命令:
启动命令
RabbitMQ 有两种启动方式:
- 以应用启动:
- rabbitmq-server:直接启动。 ——【关闭窗口,或者在该窗口使用其他命令,应用就会停止】
- rabbitmq-server -detached:后台启动。 ——【关机则应用关闭】
- 可用 rabbitmqctl stop 停止应用。
- 以服务启动:
- 先以 rabbitmq-service install 安装服务,再以 rabbitmq-service start 启动服务。 ——【可设置随开机启动服务】
Linux 下相关命令:
#启动服务 systemctl start rabbitmq-server #查看状态 systemctl status rabbitmq-server #设置为开机启动 systemctl enable rabbitmq-server
📌 rabbitmq-server 与 rabbitmqctl start_app,rabbitmqctl stop_app 与 rabbitmqctl 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 实例。
- 所有命令都可以“help”查看命令帮助信息。
管理平台
RabbitMQ提供了一个可视化的Web后台,方便了解队列的运行情况,也可以对RabbitMQ做一些管理操作。
访问 RabbitMQ 管理后台地址:
- 默认地址和端口:http://localhost:15672/
- 默认账号和密码:guest / guest
后台首页
客户端连接情况
交换机情况
队列情况
队列详情
参考
- ↑ 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 平台上。
- ↑ 参考:Command Line Tools
- ↑ “pid_file”:是通过“rabbitmq-server”命令启动 RabbitMQ 服务时创建的,默认情况下存放于 mnesia 目录中。
- 但若通过“rabbitmq-server -detach”命令启动 RabbitMQ 服务,则不会生成 “pid_file” 文件。