Node.js错误:连接ECONNREFUSED

我是新来的节点和运行到一个简单的教程这个错误。

我在OS X 10.8.2上从CodeRunner和Terminal上尝试这个。 我也尝试把我的模块在node_modules文件夹。

我可以告诉这是某种连接问题,但我不知道为什么?

 events.js:71 throw arguments[1]; // Unhandled 'error' event ^ Error: connect ECONNREFUSED at errnoException (net.js:770:11) at Object.afterConnect [as oncomplete] (net.js:761:19) 

app.js:

 var makeRequest = require('./make_request'); makeRequest("Here's looking at you, kid"); makeRequest("Hello, this is dog"); 

make_request.js:

 var http = require('http'); var makeRequest = function(message) { //var message = "Here's looking at you, kid."; var options = { host: 'localhost', port: 8080, path:'/', method: 'POST' } var request = http.request(options, function(response) { response.on('data', function(data) { console.log(data); }); }); request.write(message); request.end(); }; module.exports = makeRequest; 

有机会,你正在努力与node.js死亡每当你打电话的服务器拒绝连接。 尝试这个:

 process.on('uncaughtException', function (err) { console.log(err); }); 

这使您的服务器运行,也给你一个地方附加debugging器,并寻找更深的问题。

您正在尝试连接到本地主机:8080 …是否在您的本地主机和此端口上运行的任何服务? 如果没有,连接被拒绝导致这个错误。 我会build议检查是否有什么东西在localhost:8080上运行。

我和ghost和heroku有同样的问题。

 heroku config:set NODE_ENV=production 

解决了!

检查你的configuration和env服务器正在运行。

有时可能会发生,如果您的代码中有任何数据库连接,但尚未启动数据库服务器。

我的情况我有一些代码连接与MongoDB

mongoose.connect("mongodb://localhost:27017/demoDb");

在我用mongod命令启动mongodb服务器之后,这个错误消失了

运行上面的代码时,需要在端口8080上运行服务器,只需通过响应返回请求即可。 将下面的代码复制到一个单独的文件(比如'server.js'),并使用node命令(node server.js)启动这个服务器。 然后,您可以从单独的命令行单独运行上面的代码(节点app.js)。

 var http = require('http'); http.createServer(function(request, response){ //The following code will print out the incoming request text request.pipe(response); }).listen(8080, '127.0.0.1'); console.log('Listening on port 8080...'); 

检查在terminal启动mysql。 使用下面的命令

mysql-ctl start

在我的情况下,它的工作

当Node.js进程仍在运行并且他们试图再次启动服务器时,人们遇到此错误。 尝试这个:

ps aux | grep node

这将打印一些东西:

 user 7668 4.3 1.0 42060 10708 pts/1 Sl+ 20:36 0:00 node server user 7749 0.0 0.0 4384 832 pts/8 S+ 20:37 0:00 grep --color=auto node 

在这种情况下,进程将是pid 7668的进程。要终止进程并重新启动服务器,请运行kill -9 7668

Unhandled 'error' event是指不提供函数来传递错误的请求。 如果没有这个事件,节点进程将以错误结束,而不是优雅地失败并提供实际的反馈。 您可以在request.write行之前设置事件来捕获任何问题:

 request.on('error', function(err) { console.log(err); }); 

下面更多的例子:

https://nodejs.org/api/http.html#http_http_request_options_callback

如果您使用的是MEAN(Mongo-Express-AngularJS-Node)堆栈,请首先运行mongod,此错误消息将消失。