温馨提示×

RabbitMQ插件Ubuntu上怎么安装

小樊
38
2025-11-15 07:06:24
栏目: 智能运维

Ubuntu 上安装与启用 RabbitMQ 插件

一 本机安装与启用插件

  • 安装基础组件与服务器
    • 更新索引并安装 ErlangRabbitMQ: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(如 administratormonitoring
    • 为用户在指定 vhost 赋权:rabbitmqctl set_permissions -p /vhost user ‘.’ '.’ ‘.*’
  • 远程访问管理界面
    • 不建议直接放开 guest 远程;创建专用管理员账号并配置防火墙仅放通 15672/5672
  • 容器数据持久化
    • 挂载数据卷到 /var/lib/rabbitmq,配置到 /etc/rabbitmq,便于升级与备份

0