鲲鹏ARM系统yum安装rabbitmq并附修改端口及配置,最后一键查看

首先是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

第六步:验证配置是否生效

  1. 检查服务状态:
bash 复制代码
systemctl status rabbitmq-server

看到 active (running) 说明服务启动正常。

  1. 检查端口监听:
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))
  1. 配置账号:
bash 复制代码
# 创建adm账号,密码xxxxxxx
rabbitmqctl add_user adm xxxxxxx
# 设置管理员权限
rabbitmqctl set_user_tags adm administrator
# 授权访问所有资源
rabbitmqctl set_permissions -p / adm ".*" ".*" ".*"
# 删除默认guest账号(可选,提升安全)
rabbitmqctl delete_user guest

下一步操作

  1. 启用管理插件

    bash 复制代码
    rabbitmq-plugins enable rabbitmq_management
  2. 重启服务

    bash 复制代码
    systemctl restart rabbitmq-server
  3. 再次检查端口

    bash 复制代码
    ss -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

执行步骤

  1. 把上面的脚本完整复制到你的服务器终端,按回车执行;
  2. 执行完成后,重点看这两个关键输出:
    • ss -tlnp | grep beam 里是否出现 801815672 两个端口;
    • rabbitmq-plugins listrabbitmq_management 前面是 [E*](表示已启用并加载)。

执行成功的预期效果

如果一切正常,你会看到类似以上截图的输出:


总结

  1. beam.smp 是 Erlang 进程名,不是运行用户,真正的运行用户是 rabbitmq
  2. 你的 8018 端口已生效,15672 端口未监听仅因为管理插件未启用;
相关推荐
美好的事情能不能发生在我身上11 小时前
Jmeter压测遇到的问题
java·分布式·jmeter
白露与泡影14 小时前
Spring Cloud进阶--分布式权限校验OAuth2
分布式·spring cloud·wpf
风吹落叶325716 小时前
redis 部署方式(分布式)
数据库·redis·分布式
qq_40999093?17 小时前
消息中间件:RabbitMQ、RocketMQ、Kafka快速上手
kafka·rabbitmq·rocketmq
ghie909017 小时前
基于智能算法的微网分布式电源最优调度实现配电网稳定运行
分布式
枫叶丹417 小时前
【HarmonyOS 6.0】ArkData 分布式数据对象新特性:资产传输进度监听与接续传输能力深度解析
开发语言·分布式·华为·wpf·harmonyos
绿算技术1 天前
OpenClaw × GP Spark:本地智能与极速存储的终极融合
大数据·分布式·spark
孤影过客1 天前
驯服数据巨兽:Hadoop如何重塑大数据的黄金时代
大数据·hadoop·分布式
iPadiPhone1 天前
分布式架构的“润滑剂”:RabbitMQ 核心原理与大厂面试避坑指南
分布式·后端·面试·架构·rabbitmq
wanhengidc2 天前
云手机与模拟器的关系
大数据·运维·服务器·分布式·智能手机