gpt4 book ai didi

node.js - AWS 上的 Node EADDRINUSE,与端口无关

转载 作者:搜寻专家 更新时间:2023-10-31 23:48:21 24 4
gpt4 key购买 nike

我很沮丧...我找不到任何在线信息来帮助我。

我的设置是:

  • AWS EC2 实例
  • Nginx 指向 127.0.0.1:3000
  • Node JS v0.10.32
  • mongoDB 进程作为守护进程运行

我试过使用我的公共(public) DNS/公共(public) IP 并重新启动 nginx,我试过端口 80、8000、1337 等...我试过删除 Nginx。 ps 辅助 | grep :3000 什么都不返回。 ps 辅助 | 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.jsnode 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, '127.0.0.1', function() {
console.log('Express server listening on port ' + app.get('port'));
});

最佳答案

您可以使用 netstat -tulpn | grep :XX , XX 是你要检查的端口。

您似乎正试图在同一个端口上同时启动 http 和 https 服务器。删除 http.createServer 位,你会没事的。

关于node.js - AWS 上的 Node EADDRINUSE,与端口无关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26229640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com