Linux 安装 RabbitMQ 的关键步骤是:先装匹配的 Erlang 版本并验证 OTP 版本,再安装 socat,接着配置 .erlang.cookie 权限与属主,启用 rabbitmq_management 等插件,最后正确设置用户权限与防火墙规则。

Linux 上装 RabbitMQ 不是“下载安装包 → 启动服务”两步就能完事。真正卡住人的,是 Erlang 版本错、.erlang.cookie 权限不对、socat 缺失、管理界面登不上、5672 端口不监听这些细节。下面按真实部署顺序讲清楚关键动作。
Erlang 必须先装对,版本不能凑合
RabbitMQ 3.11.x 要 Erlang 25.3;3.9.14 对应 Erlang 23.3;用 Erlang 25 装 3.8.x 会直接段错误。别信“最新版就行”,必须查 官方兼容表。
- CentOS/RHEL:用 rpm 安装,路径通常为
/usr/lib64/erlang/bin,记得加到/etc/profile的 PATH 里并source - Ubuntu/Debian:运行
sudo apt install -y erlang-base(不是erlang元包,它可能缺关键组件) - 验证命令:
erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().' -noshell,输出 OTP 版本号才算到位
socat 是硬依赖,漏掉就起不来服务
CentOS 7/8 执行 yum install -y socat;Rocky 9 / CentOS Stream 用 dnf install -y socat;Ubuntu 同样要 apt install -y socat。这不是可选项——RabbitMQ 启动脚本内部调用 socat 做端口转发和健康检查,没它 systemd 会卡在 activating (auto-restart) 循环。
如果已用 --nodeps 强装过 rabbitmq-server,得先 rpm -e rabbitmq-server 卸载干净,再装 socat,最后重装 RabbitMQ。
安装后立刻检查 .erlang.cookie 和插件
文件位置:/var/lib/rabbitmq/.erlang.cookie
- 权限必须是
400:chmod 400 /var/lib/rabbitmq/.erlang.cookie - 属主必须是
rabbitmq用户:chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie - 内容所有节点必须完全一致(集群场景下尤其关键)
接着启用核心插件:
-
rabbitmq-plugins enable rabbitmq_management(开 Web 界面) -
rabbitmq-plugins enable rabbitmq_amqp1_0(如需 AMQP 1.0 支持)
重启服务:systemctl restart rabbitmq-server
Web 管理界面和 5672 端口常见问题
guest 用户默认只允许 localhost 登录。远程访问时:
- 安全做法:新增用户
rabbitmqctl add_user admin Passw0rd!rabbitmqctl set_user_tags admin administratorrabbitmqctl set_permissions -p / admin ".*" ".*" ".*" - 测试环境临时放开 guest:
echo "loopback_users = none" >> /etc/rabbitmq/rabbitmq.conf,再重启服务 - 确认防火墙放行:
firewall-cmd --permanent --add-port=15672/tcp(Web)和--add-port=5672/tcp(AMQP),然后firewall-cmd --reload - 5672 没监听?先确认
rabbitmq-plugins list | grep amqp显示[E*] amqp_client,否则插件没生效;再看netstat -tuln | grep :5672
不复杂但容易忽略。


















