在AWS linux上托管的NodeJs网站无法访问

时间:2016-11-24 06:34:09

标签: node.js linux amazon-web-services amazon-ec2 redhat

我在AWS Red Hat Linux上托管了我的NodeJs网站,但可以从外部访问。 虽然当我从putty运行我的nodejs服务器时,它运行得很好。 enter image description here

下面是我在nodejs中的服务器创建代码。我正在使用带有jade的快速框架。

app.listen(80, function () {
    console.log('Server starts on port: ' + 80);
});

我也从AWS控制台打开了所有流量,并尝试了其他端口。

ps -ef | grep node says:-

enter image description here

和app.log说: -

uncaughtException: Error: listen EADDRINUSE
Server starts on port: 80

2 个答案:

答案 0 :(得分:0)

您收到此错误,因为已有一个应用程序在您的系统上使用port 80,可能是ApacheNginx,因此您应该只使用其他端口并配置您的网络-server将所有HTTP请求转发到您的端口或只是停止Web服务器,也使用端口80,您需要使用sudo,因此您的命令将是sudo node app.js。如果要检查port 80上正在运行的应用程序,只需使用以下命令:

sudo netstat -tupln | grep 80

输出应显示正在使用您的端口的进程,如果需要,可以将其终止

答案 1 :(得分:0)

app.listen(80,"0.0.0.0", function () {
console.log('Server starts on port: ' + 80);
});``

应始终确保您的应用可通过网络访问,例如“0.0.0.0”参数enter code here