RabbitMQ常见命令速查
已于 2026年08月19日 10:25 修改
访问次数:0
RabbitMQ 常用命令主要分为 服务管理、用户管理、虚拟主机管理、队列/交换机查看、消息管理、插件管理 等。下面介绍日常运维和开发中最常用的命令。
1. RabbitMQ 服务管理
查看 RabbitMQ 状态
rabbitmqctl status查看节点状态、版本、运行时间、内存等信息。
启动 RabbitMQ
Linux:
systemctl start rabbitmq-server或者:
rabbitmq-server -detached停止 RabbitMQ
systemctl stop rabbitmq-server重启 RabbitMQ
systemctl restart rabbitmq-server查看服务状态
systemctl status rabbitmq-server2. 用户管理
查看用户列表
rabbitmqctl list_users示例:
Listing users ...
admin [administrator]
guest [administrator]创建用户
rabbitmqctl add_user 用户名 密码例如:
rabbitmqctl add_user test 123456删除用户
rabbitmqctl delete_user 用户名例如:
rabbitmqctl delete_user test修改密码
rabbitmqctl change_password 用户名 新密码例如:
rabbitmqctl change_password test 654321设置用户权限
RabbitMQ 权限格式:
配置权限 写权限 读权限命令:
rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"例如:
rabbitmqctl set_permissions -p / test ".*" ".*" ".*"表示:
- 可以配置所有资源
- 可以写所有队列
- 可以读所有队列
设置管理员角色
rabbitmqctl set_user_tags 用户名 administrator例如:
rabbitmqctl set_user_tags test administrator角色类型:
| 角色 | 权限 |
|---|---|
| administrator | 管理员 |
| monitoring | 查看监控 |
| policymaker | 策略管理 |
| management | 普通管理 |
3. Virtual Host 管理
RabbitMQ 使用 vhost 隔离不同业务。
查看 vhost
rabbitmqctl list_vhosts创建 vhost
rabbitmqctl add_vhost /test删除 vhost
rabbitmqctl delete_vhost /test给用户绑定 vhost 权限
rabbitmqctl set_permissions -p /test 用户名 ".*" ".*" ".*"4. 查看交换机 Exchange
查看所有交换机
rabbitmqctl list_exchanges输出:
name type
amq.direct direct
amq.topic topic查看详细信息:
rabbitmqctl list_exchanges name type durable字段:
- name:交换机名称
- type:类型
- durable:是否持久化
常见 exchange 类型:
| 类型 | 用途 |
|---|---|
| direct | 精确匹配 routing key |
| topic | 通配符匹配 |
| fanout | 广播 |
| headers | 根据 header 匹配 |
5. 查看队列 Queue
查看所有队列
rabbitmqctl list_queues示例:
queue1 10
queue2 0第二列是消息数量。
查看详细队列信息
rabbitmqctl list_queues name messages consumers durable例如:
name messages consumers durable
order.queue 100 3 true含义:
- messages:消息数量
- consumers:消费者数量
- durable:是否持久化
6. 查看连接和消费者
查看连接
rabbitmqctl list_connections查看消费者
rabbitmqctl list_consumers查看 channel
rabbitmqctl list_channels7. 清空队列消息
清空某个队列:
rabbitmqctl purge_queue 队列名例如:
rabbitmqctl purge_queue order.queue注意:
会删除队列里的所有未消费消息。
8. 删除队列
rabbitmqctl delete_queue 队列名例如:
rabbitmqctl delete_queue test.queue9. 删除交换机
rabbitmqctl delete_exchange 交换机名例如:
rabbitmqctl delete_exchange order.exchange10. 插件管理
查看插件
rabbitmq-plugins list开启 Web 管理界面
rabbitmq-plugins enable rabbitmq_management开启后:
访问:
http://服务器IP:15672默认端口:
| 端口 | 用途 |
|---|---|
| 5672 | AMQP协议 |
| 15672 | Web管理界面 |
| 25672 | 集群通信 |
禁用插件
rabbitmq-plugins disable rabbitmq_management11. 集群相关命令
查看集群节点
rabbitmqctl cluster_status加入集群
例如:
rabbitmqctl join_cluster rabbit@node1离开集群
rabbitmqctl forget_cluster_node rabbit@node212. 日常排查常用组合
查看队列堆积
rabbitmqctl list_queues name messages consumers关注:
messages 很大
consumers=0说明:
- 消费者挂了
- 消费速度跟不上生产速度
查看谁连接了 RabbitMQ
rabbitmqctl list_connections user peer_host peer_port查看节点资源
rabbitmqctl status重点关注:
- memory
- disk_free
- processes
13. rabbitmq-diagnostics(新版推荐)
RabbitMQ 新版本推荐使用:
健康检查
rabbitmq-diagnostics check_running查看端口监听
rabbitmq-diagnostics listeners查看环境信息
rabbitmq-diagnostics environment14. 常用命令速查表
| 操作 | 命令 |
|---|---|
| 查看状态 | rabbitmqctl status |
| 启动服务 | systemctl start rabbitmq-server |
| 停止服务 | systemctl stop rabbitmq-server |
| 查看用户 | rabbitmqctl list_users |
| 创建用户 | rabbitmqctl add_user user pwd |
| 创建vhost | rabbitmqctl add_vhost /name |
| 查看队列 | rabbitmqctl list_queues |
| 查看交换机 | rabbitmqctl list_exchanges |
| 清空队列 | rabbitmqctl purge_queue queue |
| 查看连接 | rabbitmqctl list_connections |
| 开启管理界面 | rabbitmq-plugins enable rabbitmq_management |
| 查看集群 | rabbitmqctl cluster_status |
这些命令基本覆盖 RabbitMQ 日常开发、部署和故障排查场景。
评论(0)