ian*_*ian 63 javascript node.js
我是节点新手并在一个简单的教程中遇到此错误.
我在OS X 10.8.2上尝试使用CodeRunner和终端.我也尝试将我的模块放在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)
Run Code Online (Sandbox Code Playgroud)
app.js:
var makeRequest = require('./make_request');
makeRequest("Here's looking at you, kid");
makeRequest("Hello, this is dog");
Run Code Online (Sandbox Code Playgroud)
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;
Run Code Online (Sandbox Code Playgroud)
use*_*009 42
当你正在调用的服务器拒绝连接时,你很可能正在努力使用node.js.试试这个:
process.on('uncaughtException', function (err) {
console.log(err);
});
Run Code Online (Sandbox Code Playgroud)
这可以使您的服务器保持运行,还可以为您提供附加调试器的位置,并寻找更深层次的问题.
小智 13
我刚刚遇到了这个问题,在寻找答案后,我发现了另一个 stackoverflow 线程:ECONNREFUSED error with node.js that do not come in other client
那里提供的解决方案对我来说就像一个魅力,似乎nodeJS在访问本地主机dns时遇到一些问题,但是切换到127.0.0.1工作得很好。
小智 9
我和ghost和heroku有同样的问题.
heroku config:set NODE_ENV=production
Run Code Online (Sandbox Code Playgroud)
解决了!
检查您的配置并确认服务器正在运行.
您正在尝试连接到localhost:8080 ...是在您的localhost和此端口上运行的任何服务?如果不是,则拒绝连接,从而导致此错误.我建议先检查localhost上是否有运行:8080.
有时可能会发生,如果您的代码中有任何数据库连接但您尚未启动数据库服务器。
我的情况我有一些代码可以与 mongodb 连接
mongoose.connect("mongodb://localhost:27017/demoDb");
在我使用命令mongod启动 mongodb 服务器后,此错误消失了
小智 5
当您运行上面的代码时,您需要在端口8080上运行服务器,它只是通过响应返回请求.将下面的代码复制到一个单独的文件(比如'server.js')并使用node命令(node server.js)启动此服务器.然后,您可以从单独的命令行单独运行上面的代码(node 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...');
Run Code Online (Sandbox Code Playgroud)
当 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
Run Code Online (Sandbox Code Playgroud)
在这种情况下,该进程将是 pid 7668 的进程。要终止它并重新启动服务器,请运行kill -9 7668。
| 归档时间: |
|
| 查看次数: |
253171 次 |
| 最近记录: |