Debian 上安装与启用 RabbitMQ 插件
一 准备与基础命令
- 安装并启动服务(若尚未安装):
- sudo apt update
- sudo apt install -y rabbitmq-server
- sudo systemctl start rabbitmq-server && sudo systemctl enable rabbitmq-server
- 常用插件管理命令(CLI 位于 PATH 中,通常以 rabbitmq-plugins 调用):
- 列出插件:sudo rabbitmq-plugins list(标识说明:E=已启用,D=已禁用)
- 启用插件:sudo rabbitmq-plugins enable 插件名
- 禁用插件:sudo rabbitmq-plugins disable 插件名
- 多数情况下启用/禁用后建议重启服务以完全生效:sudo systemctl restart rabbitmq-server
二 安装内置插件
- 管理插件(提供 Web 管理界面,端口 15672):
- 启用:sudo rabbitmq-plugins enable rabbitmq_management
- 重启:sudo systemctl restart rabbitmq-server
- 访问:http://服务器IP:15672,默认账号 guest/guest(生产环境请修改默认凭据与访问控制)
- MQTT 与 Web MQTT 插件(端口 1883/8883 与 15675):
- 启用:sudo rabbitmq-plugins enable rabbitmq_mqtt rabbitmq_web_mqtt
- 重启:sudo systemctl restart rabbitmq-server
- 延迟交换机插件(rabbitmq_delayed_message_exchange,常用于订单超时等场景):
- 先确认版本匹配(RabbitMQ ≥ 3.5.8),再从 GitHub Releases 下载与当前服务器版本一致的 .ez 文件
- 放置插件:sudo mv rabbitmq_delayed_message_exchange-.ez /usr/lib/rabbitmq/lib/rabbitmq_server-/plugins/
- 启用:sudo rabbitmq-plugins enable rabbitmq_delayed_message_exchange
- 重启:sudo systemctl restart rabbitmq-server
三 安装第三方或自定义插件
- 放置插件包:
- 将 .ez 插件包复制到插件目录:/usr/lib/rabbitmq/lib/rabbitmq_server-/plugins/(注意替换 为实际版本)
- 启用与验证:
- 启用:sudo rabbitmq-plugins enable 插件名
- 验证:sudo rabbitmq-plugins list(应看到插件状态为 E)
- 必要时重启:sudo systemctl restart rabbitmq-server
- 自定义插件开发要点(简要):
- 实现 behaviour(rabbit_plugin),提供 start/2 与 stop/1
- 编译为 .beam,打包为 .ez(例如使用 erlc/ar 或构建工具)
- 复制到插件目录后启用;插件与 Erlang/OTP 及 RabbitMQ 版本需严格匹配
四 常见问题与运维建议
- 版本兼容:插件必须与当前 RabbitMQ 版本匹配(含小版本);延迟交换机等社区插件需满足最低版本要求
- 权限与安全:
- 生产环境禁用默认 guest 的远程登录,创建新用户并赋权:
- sudo rabbitmqctl add_user admin StrongPass!
- sudo rabbitmqctl set_user_tags admin administrator
- sudo rabbitmqctl set_permissions -p / admin “." ".” “.*”
- 变更生效:多数插件在 enable/disable 后需重启服务;对数据有风险的变更前备份 /var/lib/rabbitmq/mnesia
- 容器场景:在容器内执行 rabbitmq-plugins enable 命令即可,注意挂载数据卷与持久化配置