鲲鹏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 端口未监听仅因为管理插件未启用;
相关推荐
你这个代码我看不懂13 小时前
@RefreshScope刷新Kafka实例
分布式·kafka·linq
麟听科技19 小时前
HarmonyOS 6.0+ APP智能种植监测系统开发实战:农业传感器联动与AI种植指导落地
人工智能·分布式·学习·华为·harmonyos
zlpzpl21 小时前
Linux安装RabbitMQ
linux·运维·rabbitmq
Wzx1980121 天前
高并发秒杀下,如何避免 Redis 分布式锁的坑?
数据库·redis·分布式
Francek Chen1 天前
【大数据存储与管理】分布式文件系统HDFS:01 分布式文件系统
大数据·hadoop·分布式·hdfs·架构
石去皿1 天前
分布式原生:鸿蒙架构哲学与操作系统演进的范式转移
分布式·架构·harmonyos
AC赳赳老秦1 天前
DeepSeek 规模化部署实战:混合云与私有云环境下的 2026 云3.0 趋势探索
数据库·人工智能·科技·rabbitmq·数据库开发·sequoiadb·deepseek
KANGBboy1 天前
spark参数优化
大数据·分布式·spark
我就是全世界1 天前
RabbitMQ架构核心拆解:从消息代理到四大组件,一文看懂异步通信基石
分布式·架构·rabbitmq