首先是yum安装,如果没有yum请跳转到我搭建yum全过程。
bash
yum -y install rabbitmq-server.aarch64

下面是我适配 RabbitMQ 3.7.23 的完整 rabbitmq.config 配置文件,(端口 8018 + 管理界面 15672),可以直接覆盖原文件即可,避免语法错误。
原配置文件全是注释,不用管他。
第一步:备份原有配置(重要)
先把旧配置备份,防止出错后无法恢复:
bash
cp /etc/rabbitmq/rabbitmq.config /etc/rabbitmq/rabbitmq.config.bak
第二步:替换为新配置文件
执行以下命令,直接生成正确的配置文件:
bash
cat > /etc/rabbitmq/rabbitmq.config << 'EOF'
[
{rabbit, [
%% 设置AMQP监听端口为8018(替代默认5672)
{tcp_listeners, [8018]},
%% 允许所有IP访问(不限制本地)
{loopback_users, []},
%% 数据持久化目录(和Docker里的./rabbitmq_data对应)
{mnesia_dir, "/root/rabbitmq/rabbitmq_data"}
]},
{rabbitmq_management, [
%% 管理界面监听端口15672
{listener, [{port, 15672}]}
]}
].
EOF
第三步:修复配置文件权限
确保 RabbitMQ 进程能读取配置:
bash
chown rabbitmq:rabbitmq /etc/rabbitmq/rabbitmq.config
chmod 644 /etc/rabbitmq/rabbitmq.config
第四步:创建数据目录并授权
bash
mkdir -p /root/rabbitmq/rabbitmq_data
chown -R rabbitmq:rabbitmq /root/rabbitmq/rabbitmq_data
第五步:启用管理插件 + 重启服务
bash
# 启用管理插件(解决15672端口不监听的问题)
rabbitmq-plugins enable rabbitmq_management
# 重启RabbitMQ服务使配置生效
systemctl restart rabbitmq-server
第六步:验证配置是否生效
- 检查服务状态:
bash
systemctl status rabbitmq-server
看到 active (running) 说明服务启动正常。
- 检查端口监听:
bash
ss -tlnp | grep beam
正常会输出:
LISTEN 0 128 0.0.0.0:8018 0.0.0.0:* users:(("beam.smp",pid=xxxx,fd=xx))
LISTEN 0 128 0.0.0.0:25672 0.0.0.0:* users:(("beam.smp",pid=xxxx,fd=xx))
- 配置账号:
bash
# 创建adm账号,密码xxxxxxx
rabbitmqctl add_user adm xxxxxxx
# 设置管理员权限
rabbitmqctl set_user_tags adm administrator
# 授权访问所有资源
rabbitmqctl set_permissions -p / adm ".*" ".*" ".*"
# 删除默认guest账号(可选,提升安全)
rabbitmqctl delete_user guest
下一步操作
-
启用管理插件 :
bashrabbitmq-plugins enable rabbitmq_management -
重启服务 :
bashsystemctl restart rabbitmq-server -
再次检查端口 :
bashss -tlnp | grep beam正常情况下,你会看到
15672端口也被监听。
我整理了一个一键启用插件+重启服务+验证端口的脚本,直接复制执行就能解决管理界面端口(15672)未监听的问题。
一键执行脚本(复制到终端直接运行)
bash
#!/bin/bash
# 1. 启用 RabbitMQ 管理插件
echo "=== 启用 RabbitMQ 管理插件 ==="
rabbitmq-plugins enable rabbitmq_management
# 2. 重启 RabbitMQ 服务
echo -e "\n=== 重启 RabbitMQ 服务 ==="
systemctl restart rabbitmq-server
# 3. 检查服务状态
echo -e "\n=== 检查 RabbitMQ 服务状态 ==="
systemctl status rabbitmq-server --no-pager
# 4. 检查端口监听情况(重点看 8018 和 15672)
echo -e "\n=== 检查端口监听情况 ==="
ss -tlnp | grep beam
# 5. 验证管理插件是否加载成功
echo -e "\n=== 验证管理插件状态 ==="
rabbitmq-plugins list | grep rabbitmq_management
执行步骤
- 把上面的脚本完整复制到你的服务器终端,按回车执行;
- 执行完成后,重点看这两个关键输出:
ss -tlnp | grep beam里是否出现8018和15672两个端口;rabbitmq-plugins list里rabbitmq_management前面是[E*](表示已启用并加载)。

执行成功的预期效果
如果一切正常,你会看到类似以上截图的输出:
总结
beam.smp是 Erlang 进程名,不是运行用户,真正的运行用户是rabbitmq;- 你的 8018 端口已生效,15672 端口未监听仅因为管理插件未启用;