node.js-AWS上的节点EADDRINUSE(与端口无关)

前端之家收集整理的这篇文章主要介绍了node.js-AWS上的节点EADDRINUSE(与端口无关) 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我感到非常沮丧……我无法在线找到任何信息来帮助我.

我的设置是:

> AWS EC2实例
> Nginx指向127.0.0.1:3000
>节点JS v0.10.32
> mongoDB进程作为守护程序运行

我尝试使用我的公共DNS /公共IP并重新启动Nginx,我尝试使用端口80、8000、1337等…我试图删除Nginx. ps aux | grep:3000不返回任何内容. ps aux | grep:80不返回任何内容.等等…

以下是相关代码

https.createServer(options,app).listen(app.get('port'),'127.0.0.1',function() {
    console.log('Express server listening on port ' + app.get('port'));
});
http.createServer(function(req,res) {
    res.writeHead(301,{ "Location": "https://" + req.headers['host'] + req.url });
  res.end();
}).listen(3000);

无论我使用哪个端口,sudo node app.js和node app.js都会收到相同的错误

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: listen EADDRINUSE
    at errnoException (net.js:904:11)
    at Server._listen2 (net.js:1042:14)
    at listen (net.js:1064:10)
    at net.js:1146:9
    at dns.js:72:18
    at process._tickCallback (node.js:419:13)
    at Function.Module.runMain (module.js:499:11)
    at startup (node.js:119:16)
    at node.js:906:3

我确实做到了这一点,但是我需要将流量重定向到端口443并使用https:

app.listen(3000,function() {
    console.log('Express server listening on port ' + app.get('port'));
});
最佳答案
您可以使用netstat -tulpn | grep:XX,XX是您要检查的端口.

似乎您正在尝试在同一端口上同时启动http服务器和https服务器.删除http.createServer位,就可以了.

猜你在找的Nginx相关文章