鲲鹏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 里是否出现 8018 和 15672 两个端口;
    • rabbitmq-plugins list 里 rabbitmq_management 前面是 [E*](表示已启用并加载)。

执行成功的预期效果

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


总结

  1. beam.smp 是 Erlang 进程名,不是运行用户,真正的运行用户是 rabbitmq;
  2. 你的 8018 端口已生效,15672 端口未监听仅因为管理插件未启用;
相关推荐
NiceZack13 小时前
Hadoop 部署全流程教程:从新装 CentOS 到伪分布式与完全分布式
hadoop·分布式·centos
傻啦嘿哟13 小时前
分布式爬虫架构:Redis+Scrapy打造企业级爬虫系统
分布式·爬虫·架构
starzy199015 小时前
Kafka请求进门口:Processor是怎么把请求读上来的
分布式·kafka
骑着蜗牛撵大象3271 天前
558 万美元训出 671B 模型:DeepSeek-V3 算法与系统的协同拆解
分布式·算法·moe·deepseek-v3·mla·fp8训练
德迅云安全-上官1 天前
德迅游戏盾:面向 TCP 业务的分布式云安全防护方案
分布式·tcp/ip·游戏
未秃头的程序猿2 天前
@ConditionalOnMissingBean 把我配好的 RabbitMQ 手动 ack 吃掉了
后端·rabbitmq
麻瓜code2 天前
分布式锁演进:从一个用户下两单,到 Redisson,我改了四版
分布式·wpf
skywalk81632 天前
hive —— 多机 AI Agent 协同的任务总线:分布式,多节点同时运行,保障不会宕机
人工智能·hive·分布式
一条泥憨鱼2 天前
【RabbitMQ】高级篇
java·分布式·rabbitmq·php·ruby
棣廷2 天前
初识Spark Core
大数据·分布式·spark