温馨提示×

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 正确,且防火墙/安全组已放行。

0