RabbitMQ在Ubuntu上如何管理
小樊
42
2025-12-10 23:23:04
Ubuntu 上 RabbitMQ 的管理指南
一 服务生命周期与开机自启
- 使用 systemd 管理服务(推荐):
- 启动:sudo systemctl start rabbitmq-server
- 停止:sudo systemctl stop rabbitmq-server
- 重启:sudo systemctl restart rabbitmq-server
- 查看状态:sudo systemctl status rabbitmq-server
- 开机自启:sudo systemctl enable rabbitmq-server
- 禁止自启:sudo systemctl disable rabbitmq-server
- 兼容方式:sudo service rabbitmq-server start|stop|restart|status
- 仅停止/启动应用层(Erlang 节点仍在):sudo rabbitmqctl stop_app / sudo rabbitmqctl start_app
- 完全停止节点:sudo rabbitmqctl stop
以上命令适用于 Ubuntu 16.04+ 等使用 systemd 的系统。
二 启用管理插件与访问控制台
- 启用管理插件:sudo rabbitmq-plugins enable rabbitmq_management
- 访问地址:http://<服务器IP>:15672
- 默认账户:guest/guest,但仅允许从localhost登录;远程访问需创建专用管理员账户(见下一节)。
三 用户与权限管理
- 创建管理员用户(示例用户名为 admin,请替换为强密码):
- 新增用户:sudo rabbitmqctl add_user admin StrongPass!
- 设置角色:sudo rabbitmqctl set_user_tags admin administrator
- 授予权限(默认 vhost 为 /):sudo rabbitmqctl set_permissions -p / admin “." ".” “.*”
- 常用用户操作:
- 修改密码:sudo rabbitmqctl change_password <new_password>
- 列出用户:sudo rabbitmqctl list_users
- 删除用户:sudo rabbitmqctl delete_user
- 角色说明:administrator、monitoring、management、policymaker 等,按最小权限原则分配。
四 网络与防火墙配置
- 默认端口:AMQP 通信端口 5672;管理控制台端口 15672。
- UFW 放行示例:
- sudo ufw allow 5672/tcp
- sudo ufw allow 15672/tcp
- 云服务器需同时在安全组放行上述端口;否则远程客户端与管理控制台将无法连接。
五 常用运维与故障排查
- 查看节点状态:sudo rabbitmqctl status
- 重置节点(清空队列,回到初始状态,谨慎):sudo rabbitmqctl reset
- 集群与节点管理:在 rabbitmqctl 后使用 -n <节点名> 指定目标节点(单机多实例时有用)
- 日志路径:/var/log/rabbitmq/,排查连接、权限、磁盘、内存等问题时优先查看
- 常见问题速解:
- 无法远程登录管理界面:默认 guest 仅限本机;按第三节创建远程管理员并放行 15672 端口。
- 客户端连不通:确认应用连接的是 5672 端口、用户名/密码与 vhost 正确,且防火墙/安全组已放行。