Javascript 错误:Node.js中的Econn被拒绝

Javascript 错误:Node.js中的Econn被拒绝,javascript,node.js,rabbitmq,Javascript,Node.js,Rabbitmq,我正在node.js中学习RabbitMQ教程 每次运行node send.js时,我都会收到一个错误消息,表示ECON被拒绝 我的代码是这样的: var amqp = require('amqplib'); var when = require('when'); amqp.connect('amqp://localhost').then(function(conn){ return when (conn.createChannel().then(function(ch){

我正在node.js中学习RabbitMQ教程

每次运行
node send.js
时,我都会收到一个错误消息,表示ECON被拒绝

我的代码是这样的:

var amqp = require('amqplib');
var when = require('when');

amqp.connect('amqp://localhost').then(function(conn){
        return when (conn.createChannel().then(function(ch){
                var q = 'hello';
                var msg= 'Hello World!';

                var ok = ch.assertQueue(q, {durable: false});

                return ok.then(function(_qok){
                        ch.sendToQueue(q, new Buffer(msg));
                        console.log(" [x] Sent '%s'",msg);
                        return ch.close();
                });
        })).ensure(function() {conn.close(); });;
}).then(null,console.warn);
下面是错误说明:

  { [Error: connect ECONNREFUSED]
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect' }

我不确定我做错了什么,或者我需要什么(我对node.js不是很有经验)。但我很确定这与本地主机服务器有关。我尝试在stackoverflow上搜索,但找不到有用的东西。

在连接之前,您需要启动RabbitMQ服务器。如果在Linux中将RabbitMQ作为系统包安装,则会出现以下问题:

sudo service rabbitmq-server start
如果您在某个地方(任何操作系统)下载并解压了它,则启动
rabbitmq服务器
脚本,您将在
sbin/
子目录中找到该脚本


如果您没有下载服务器,请从获取相应的包。

您需要在连接之前启动RabbitMQ服务器。如果在Linux中将RabbitMQ作为系统包安装,则会出现以下问题:

sudo service rabbitmq-server start
如果您在某个地方(任何操作系统)下载并解压了它,则启动
rabbitmq服务器
脚本,您将在
sbin/
子目录中找到该脚本


如果您没有下载服务器,请从获取相应的软件包。

在启动应用程序之前是否启动了RabbitMQ服务器?@StefanoSanfilippo否我没有。启动它的命令是什么?启动应用程序之前是否启动了RabbitMQ服务器?@StefanoSanfilippo没有。启动它的命令是什么?我在Mac上试过这个命令。它说服务:command not found我自制安装了rabbitmq
服务
用于大多数Linux发行版,而不是Mac。使用
path=$path:/usr/local/sbin
sbin
添加到您的路径中,然后使用
rabbitmq server
启动服务器。我不理解您将sbin添加到我的路径中的意思。是否有需要覆盖的文件?如果是,那是哪一个。好吧,只要发出
/usr/local/sbin/rabbitmq server
,您就可以了:)我在Mac上试过这个命令。它说服务:command not found我自制安装了rabbitmq
服务
用于大多数Linux发行版,而不是Mac。使用
path=$path:/usr/local/sbin
sbin
添加到您的路径中,然后使用
rabbitmq server
启动服务器。我不理解您将sbin添加到我的路径中的意思。是否有需要覆盖的文件?如果是的话,是哪一个。好吧,只要发出
/usr/local/sbin/rabbitmq server
,您就被设置为:)