Ubuntu环境下RabbitMQ插件的使用与管理指南
RabbitMQ的插件系统通过rabbitmq-plugins命令行工具管理,所有操作需在终端执行。核心命令如下:
rabbitmq-plugins list[e*]前缀的插件表示已启用,无前缀的为未启用状态。rabbitmq-plugins enable <插件名>rabbitmq-plugins enable rabbitmq_management。rabbitmq-plugins disable <插件名>rabbitmq-plugins disable rabbitmq_management。sudo systemctl restart rabbitmq-server(推荐)或rabbitmqctl stop_app && rabbitmqctl start_app(仅重启应用层)。RabbitMQ提供多个内置插件,覆盖管理、协议扩展等场景,以下是最常用的3个:
rabbitmq-plugins enable rabbitmq_management,重启服务后,通过浏览器访问http://<服务器IP>:15672(默认端口15672),使用默认账号guest/guest登录(注:guest用户仅允许本机访问,生产环境需创建新用户)。rabbitmq-plugins enable rabbitmq_mqtt,重启服务后,MQTT客户端可通过默认端口1883(非TLS)或8883(TLS)连接RabbitMQ。rabbitmq-plugins enable rabbitmq_web_mqtt,重启服务后,网页端可通过ws://<服务器IP>:15675(非TLS)或wss://<服务器IP>:15676(TLS)连接。.ez插件文件(确保版本与RabbitMQ兼容),然后将其复制到RabbitMQ的插件目录(通常为/usr/lib/rabbitmq/lib/rabbitmq_server-<版本号>/plugins/),再执行rabbitmq-plugins enable <插件名>启用。例如,更新延迟消息插件: rabbitmq_delayed_message_exchange-<版本号>.ez;sudo cp rabbitmq_delayed_message_exchange-<版本号>.ez /usr/lib/rabbitmq/lib/rabbitmq_server-<版本号>/plugins/;rabbitmq-plugins enable rabbitmq_delayed_message_exchange。RABBITMQ_PLUGINS_DIR环境变量指定插件目录。例如,在/etc/environment中添加:RABBITMQ_PLUGINS_DIR="/opt/rabbitmq/plugins",然后重启RabbitMQ服务使配置生效。15672(HTTP)、15671(HTTPS);1883(非TLS)、8883(TLS);15674(STOMP-over-WebSocket)、15675(MQTT-over-WebSocket)。sudo ufw allow <端口>命令开放端口(Ubuntu默认使用ufw防火墙)。guest用户仅允许本机访问(IP为127.0.0.1),生产环境需创建新用户并授予权限。例如: rabbitmqctl add_user admin 123456;administrator为最高权限):rabbitmqctl set_user_tags admin administrator;/为默认虚拟主机):rabbitmqctl set_permissions -p / admin '.*' '.*' '.*'(conf、write、read分别表示配置、写入、读取权限的正则表达式,.*表示允许所有操作)。