鲲鹏ARM系统yum安装rabbitmq并附修改端口及配置,最后一键查看
2026/6/4 23:18:28 网站建设 项目流程

首先是yum安装,如果没有yum请跳转到我搭建yum全过程。

yum -yinstallrabbitmq-server.aarch64


下面是我适配 RabbitMQ 3.7.23 的完整rabbitmq.config配置文件,(端口 8018 + 管理界面 15672),可以直接覆盖原文件即可,避免语法错误。


原配置文件全是注释,不用管他。

第一步:备份原有配置(重要)

先把旧配置备份,防止出错后无法恢复:

cp/etc/rabbitmq/rabbitmq.config /etc/rabbitmq/rabbitmq.config.bak

第二步:替换为新配置文件

执行以下命令,直接生成正确的配置文件:

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 进程能读取配置:

chownrabbitmq:rabbitmq /etc/rabbitmq/rabbitmq.configchmod644/etc/rabbitmq/rabbitmq.config

第四步:创建数据目录并授权

mkdir-p /root/rabbitmq/rabbitmq_datachown-R rabbitmq:rabbitmq /root/rabbitmq/rabbitmq_data

第五步:启用管理插件 + 重启服务

# 启用管理插件(解决15672端口不监听的问题)rabbitmq-pluginsenablerabbitmq_management# 重启RabbitMQ服务使配置生效systemctl restart rabbitmq-server

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

  1. 检查服务状态:
systemctl status rabbitmq-server

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

  1. 检查端口监听:
ss -tlnp|grepbeam

正常会输出:

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

下一步操作

  1. 启用管理插件
    rabbitmq-pluginsenablerabbitmq_management
  2. 重启服务
    systemctl restart rabbitmq-server
  3. 再次检查端口
    ss -tlnp|grepbeam
    正常情况下,你会看到15672端口也被监听。

我整理了一个一键启用插件+重启服务+验证端口的脚本,直接复制执行就能解决管理界面端口(15672)未监听的问题。


一键执行脚本(复制到终端直接运行)

#!/bin/bash# 1. 启用 RabbitMQ 管理插件echo"=== 启用 RabbitMQ 管理插件 ==="rabbitmq-pluginsenablerabbitmq_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|grepbeam# 5. 验证管理插件是否加载成功echo-e"\n=== 验证管理插件状态 ==="rabbitmq-plugins list|greprabbitmq_management

执行步骤

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

执行成功的预期效果

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


总结

  1. beam.smp是 Erlang 进程名,不是运行用户,真正的运行用户是rabbitmq
  2. 你的 8018 端口已生效,15672 端口未监听仅因为管理插件未启用;

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询