You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RabbitMQ连接报错ECONNREFUSED:无法连接5672端口的求助

RabbitMQ连接拒绝(ECONNREFUSED ::1:5672)问题修复

这个错误不是防火墙问题(除非你手动限制了5672端口),核心原因是:RabbitMQ服务未运行,或者服务仅监听IPv4地址,但你的代码通过IPv6的::1尝试连接。

修复步骤:

1. 确认RabbitMQ服务正在运行

根据你的操作系统执行对应命令启动服务:

  • Windows:打开服务管理器找到RabbitMQ服务,设置为“正在运行”;或在命令行执行 net start RabbitMQ
  • macOS(brew安装):brew services start rabbitmq
  • Linux:systemctl start rabbitmq-server 或 service rabbitmq-server start

2. 强制使用IPv4连接(最快速的修复)

修改代码中的连接地址,将amqp://localhost替换为amqp://127.0.0.1——因为localhost可能被解析为IPv6的::1,但RabbitMQ默认通常只监听IPv4的127.0.0.1。修改后的完整代码:

const amqp = require("amqplib/callback_api");

amqp.connect(`amqp://127.0.0.1`, (err, connection) => {
  if (err) throw err;
  connection.createChannel((err, channel) => {
    const queueName = 'queue';
    const message = 'This is the message to send'
    channel.assertQueue(queueName, {
        durable:false,
    });
    channel.sendToQueue(queueName, Buffer.from(message));
    console.log('Message: ' + message);
    setTimeout(()=>{
        connection.close();
    }, 1000);
  });
});

3. 检查RabbitMQ端口监听状态

执行对应命令查看5672端口的监听情况:

  • Linux/macOS:netstat -an | grep 5672
  • Windows:netstat -ano | findstr 5672
    如果输出只有0.0.0.0:5672(IPv4监听),没有[::]:5672(IPv6监听),说明服务不支持IPv6连接,保持使用127.0.0.1即可。

4. 验证RabbitMQ服务可用性

访问RabbitMQ管理界面(默认端口15672),能正常打开则说明服务运行正常。如果未开启管理插件,执行:

rabbitmq-plugins enable rabbitmq_management

内容的提问来源于stack exchange,提问作者marcox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 00:45:29