我在 AWS Red Hat Linux 上托管了我的 NodeJs 网站,但它可以从外部访问。 尽管当我从 putty 运行我的 nodejs 服务器时,它运行得很好。
下面是我在 nodejs 中创建服务器的代码。我正在使用 express 框架和 jade。
app.listen(80, function () {
console.log('Server starts on port: ' + 80);
});
我也打开了来自 AWS 控制台的所有流量,并尝试了其他端口。
ps -ef | grep node says:-
并且 app.log 说:-
uncaughtException: Error: listen EADDRINUSE
Server starts on port: 80
最佳答案
您收到此错误是因为您的系统上已经有一个应用程序正在使用 port 80
,可能是 Apache
或 Nginx
,所以你应该只使用另一个端口并配置你的网络服务器以将所有 HTTP
请求转发到你的端口或只是停止网络服务器,也使用端口 80 你需要使用 sudo
所以你的命令将是 sudo node app.js
。如果您想检查端口 80
上正在运行什么应用程序,只需使用以下命令:
sudo netstat -tupln | grep 80
输出应该会告诉你哪个进程正在使用你的端口,如果你愿意,你可以杀死它
关于node.js - 托管在 AWS linux 上的 NodeJs 网站无法访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40779478/