RabbitMQ在CentOS上的插件使用
导读:CentOS 上 RabbitMQ 插件使用指南 一 环境准备与常用命令 确认服务运行状态:使用命令查看与管理服务 启动:systemctl start rabbitmq-server 状态:systemctl status rabbi...
CentOS 上 RabbitMQ 插件使用指南
一 环境准备与常用命令
- 确认服务运行状态:使用命令查看与管理服务
- 启动:systemctl start rabbitmq-server
- 状态:systemctl status rabbitmq-server
- 停止:systemctl stop rabbitmq-server
- 插件管理常用命令(位于 /usr/sbin/ 或 PATH 中)
- 列出插件:rabbitmq-plugins list
- 启用插件:rabbitmq-plugins enable < 插件名>
- 禁用插件:rabbitmq-plugins disable < 插件名>
- 管理界面默认监听端口:15672;AMQP 端口:5672。启用管理插件后即可通过浏览器访问控制台。
二 常用插件启用步骤
- Web 管理界面(rabbitmq_management)
- 启用:rabbitmq-plugins enable rabbitmq_management
- 访问:浏览器打开 http://服务器IP:15672
- 账户与权限:默认账号 guest/guest 仅允许本机访问;如需远程登录,创建管理员并赋权:
- 新建用户:rabbitmqctl add_user admin StrongPass!
- 设置角色:rabbitmqctl set_user_tags admin administrator
- 赋权:rabbitmqctl set_permissions -p / admin “." ".” “.*”
- 远程放行 guest(可选):在 /etc/rabbitmq/rabbitmq.config 中添加
- 配置内容:[{ rabbit, [{ loopback_users, []} ]} ].
- 使配置生效:重启服务(systemctl 或 rabbitmq-server -detached)。
- MQTT 插件(rabbitmq_mqtt)
- 启用:rabbitmq-plugins enable rabbitmq_mqtt
- 用途:暴露 MQTT 协议接入,常与 WebSocket 配合使用。
- STOMP over WebSocket(rabbitmq_web_stomp 与示例)
- 启用:rabbitmq-plugins enable rabbitmq_web_stomp rabbitmq_web_stomp_examples
- 用途:浏览器或 STOMP 客户端通过 WebSocket 订阅/发布消息。
三 第三方插件安装 延时交换机 rabbitmq_delayed_message_exchange
- 版本匹配:插件版本需与 RabbitMQ 版本匹配(如 3.8.x 对应插件 3.8.9 标签)。下载地址:RabbitMQ 社区插件页或 GitHub Releases。
- 安装方式
- 原生安装(CentOS 7,RPM 包常见路径)
- 查找插件目录:
- 示例:rpm -ql rabbitmq-server-3.7.7-1.el7.noarch | grep plugins
- 常见目录:/usr/lib/rabbitmq/lib/rabbitmq_server-< 版本> /plugins/
- 下载插件 rabbitmq_delayed_message_exchange-< 版本> .ez 至该目录
- 启用:rabbitmq-plugins enable rabbitmq_delayed_message_exchange
- 查找插件目录:
- Docker 安装
- 启动容器时挂载插件卷:如 -v mq-plugins:/plugins
- 查看卷路径:docker volume inspect mq-plugins
- 将插件拷贝进卷目录
- 进入容器启用:docker exec -it mq bash 后执行 rabbitmq-plugins enable rabbitmq_delayed_message_exchange
- 原生安装(CentOS 7,RPM 包常见路径)
- 使用提示:该插件为交换机类型,需要在声明交换机时将其 type 指定为 x-delayed-message 方可生效。
四 常见问题与排查
- 插件启用后未生效
- 重启服务:systemctl restart rabbitmq-server 或 rabbitmq-server -detached,再次查看 rabbitmq-plugins list 确认状态为 [E]*
- 管理界面无法远程登录
- 原因与方案:默认 guest 仅本地访问;创建新管理员并赋权,或在 /etc/rabbitmq/rabbitmq.config 设置 loopback_users, [] 后重启
- 插件目录与文件权限
- 确认插件 .ez 位于正确 plugins 目录,且 rabbitmq 用户对该目录有读取权限;必要时检查数据/日志目录权限(如 chown -R rabbitmq:rabbitmq /var/lib/rabbitmq /var/log/rabbitmq)
- 端口未放行
- 管理界面需放行 15672,AMQP 需放行 5672;如使用 firewalld:firewall-cmd --add-port=15672/tcp --permanent & & firewall-cmd --reload。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: RabbitMQ在CentOS上的插件使用
本文地址: https://pptw.com/jishu/752024.html
