RabbitMQ 在 Ubuntu 上的插件管理指南
一 常用插件管理命令
- 查看插件状态与依赖(标识说明:E/e = 已启用(显式/隐式),[ ] = 未启用,[failed] = 状态未知/失败)
- 启用插件(会自动启用依赖)
- 命令:
sudo rabbitmq-plugins enable <插件名>
- 禁用插件(会自动禁用不再被依赖的插件)
- 命令:
sudo rabbitmq-plugins disable <插件名>
- 示例(启用管理插件)
- 命令:
sudo rabbitmq-plugins enable rabbitmq_management
- 说明
- 插件启用/禁用会动态更新 broker 配置;多数情况下无需重启,如遇到异常可重启服务:
sudo systemctl restart rabbitmq-server。
二 常用插件与用途
- rabbitmq_management:提供基于 Web 的管理控制台与 HTTP API,默认访问地址 http://服务器IP:15672,默认账号 guest/guest(仅限本机)。
- rabbitmq_mqtt:启用 MQTT 协议支持。
- rabbitmq_web_mqtt:为 MQTT 提供 WebSocket 前端。
- rabbitmq_stomp / rabbitmq_web_stomp:启用 STOMP 协议及 WebSocket 前端。
- 使用方式:直接通过
rabbitmq-plugins enable <插件名> 启用即可,必要时在防火墙放行对应端口。
三 启用管理插件与远程访问
- 启用管理插件
- 命令:
sudo rabbitmq-plugins enable rabbitmq_management
- 访问:http://服务器IP:15672(默认账号 guest/guest,仅限本机访问)。
- 远程访问与账户
- 建议创建管理员用户并授权远程访问(guest 默认仅本地):
- 新建用户:
sudo rabbitmqctl add_user admin <密码>
- 设置角色:
sudo rabbitmqctl set_user_tags admin administrator
- 授权 vhost:
sudo rabbitmqctl set_permissions -p / admin '.*' '.*' '.*'
- 防火墙/云安全组放行端口:15672(管理界面)、5672(AMQP)。
- 如需允许 guest 远程登录(不推荐),可在 /etc/rabbitmq/rabbitmq.config 中设置:
[{rabbit, [{loopback_users, []}]}],然后重启服务。
四 安装社区插件
- 步骤
- 从官网社区插件页面下载对应版本的 .ez 插件包。
- 将插件复制到插件目录(常见路径:/usr/lib/rabbitmq/lib/rabbitmq_server-<版本>/plugins)。
- 执行启用:
sudo rabbitmq-plugins enable <插件名>。
- 示例(延迟交换机插件)
- 下载:rabbitmq_delayed_message_exchange
- 复制至插件目录后启用:
sudo rabbitmq-plugins enable rabbitmq_delayed_message_exchange
- 注意
- 插件版本必须与 RabbitMQ 服务器版本严格匹配;启用失败请检查版本与依赖。
五 排错与最佳实践
- 插件状态异常:执行
rabbitmq-plugins list,若显示 [failed],检查插件与服务器版本匹配、依赖是否满足、文件权限是否正确。
- 管理界面访问失败:确认已启用 rabbitmq_management,并放行 15672;远程访问时不要使用 guest,应创建专用管理员账户并授权。
- 命令无权限:在 Ubuntu 上使用
sudo 执行插件命令,避免因权限不足导致失败。
- 动态加载未生效:重启服务
sudo systemctl restart rabbitmq-server 后再验证。