我感到非常沮丧……我无法在线找到任何信息来帮助我.
我的设置是:
> 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位,就可以了.