RabbitMQ:连接ECONNREFUSED错误,无法连接到5672端口

ct3nt3jp  于 2023-01-05  发布在  RabbitMQ
关注(0)|答案(1)|浏览(721)

我正在尝试学习RabbitMQ。我使用的是从教程中获得的以下代码:

出版商.js:

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

amqp.connect(`amqp://localhost`, (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);
  });
});

当我在CLI中使用node运行publisher.js时,我收到以下错误:

Error: connect ECONNREFUSED ::1:5672
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1300:16) {
  errno: -61,
  code: 'ECONNREFUSED',
  syscall: 'connect',
  address: '::1',
  port: 5672
}

我在期待:

  • 包含以下消息的控制台日志
  • 消息也应添加到队列中

是TCP连接还是防火墙问题?如果是,我该如何修复?

csbfibhn

csbfibhn1#

我现在有一个类似的问题,我有一个docker容器有rabbitmq服务,另一个有koa服务器生成rabbitmq消息,还有一个有rabbitmq工作代码.问题是koa服务器连接很好rabbitmq,工作者抛出了和你一样的错误,尝试了一段时间后,我可以让它在连接到工作队列之前休眠5秒。所以...这是rabbitmq服务启动不正确的问题。但是我仍然不知道实际的问题是什么,因为我在docker-compose中有一个依赖于worker服务的rabbitmq服务,我知道这不是一个礼貌的回答,但是也许它可以帮助您找到问题的原因。

相关问题