Ubuntu 上安装与启用 RabbitMQ 插件
一 本机安装与启用插件
- 安装基础组件与服务器
- 更新索引并安装 Erlang 与 RabbitMQ:sudo apt update && sudo apt install -y erlang-nox rabbitmq-server
- 启动服务并设为开机自启:sudo systemctl start rabbitmq-server && sudo systemctl enable rabbitmq-server
- 常用插件命令
- 查看插件:sudo rabbitmq-plugins list
- 启用管理插件:sudo rabbitmq-plugins enable rabbitmq_management
- 启用 MQTT 与 WebSocket:sudo rabbitmq-plugins enable rabbitmq_mqtt;sudo rabbitmq-plugins enable rabbitmq_web_mqtt
- 访问管理界面
- 浏览器访问:http://服务器IP:15672(默认账号 guest / guest,仅限本机访问;如需远程访问请见下文安全配置)
二 Docker 环境安装与启用插件
- 快速启动带管理插件的容器
- docker run -d --name rabbitmq --hostname rabbitmq -p 5672:5672 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=your_password rabbitmq:3.13-management
- 进入容器并启用插件:docker exec -it rabbitmq /bin/bash 后执行:rabbitmq-plugins enable rabbitmq_management
- 安装延迟交换机插件 rabbitmq_delayed_message_exchange
- 下载与版本匹配:从官方社区插件页获取与你的 RabbitMQ/Erlang 版本匹配的 rabbitmq_delayed_message_exchange-.ez
- 拷贝进容器:docker cp rabbitmq_delayed_message_exchange-.ez rabbitmq:/plugins
- 进入容器并赋权:docker exec -it rabbitmq /bin/bash;chmod 755 /plugins/rabbitmq_delayed_message_exchange-.ez
- 启用并重启:rabbitmq-plugins enable rabbitmq_delayed_message_exchange;docker restart rabbitmq
- 验证:管理界面创建 Exchange 时 Type 出现 x-delayed-message 即成功
三 常见问题与排查
- 插件启用失败
- 确认插件与 RabbitMQ/Erlang 版本兼容;Docker 场景检查 .ez 文件已拷贝到容器内 /plugins 且权限为 755;使用 rabbitmq-plugins list 查看是否生效
- 管理界面访问被拒绝
- 默认 guest/guest 仅允许 localhost 访问;创建管理员用户并赋权,或调整 loopback 配置后再试
- 服务未运行
- 使用 sudo systemctl status rabbitmq-server 查看状态与日志,必要时 sudo systemctl restart rabbitmq-server
四 安全与运维建议
- 用户与权限
- 创建运维/监控/业务用户并分配角色:rabbitmqctl add_user;rabbitmqctl set_user_tags(如 administrator、monitoring)
- 为用户在指定 vhost 赋权:rabbitmqctl set_permissions -p /vhost user ‘.’ '.’ ‘.*’
- 远程访问管理界面
- 不建议直接放开 guest 远程;创建专用管理员账号并配置防火墙仅放通 15672/5672
- 容器数据持久化
- 挂载数据卷到 /var/lib/rabbitmq,配置到 /etc/rabbitmq,便于升级与备份