在AWS Linux上托管的NodeJs网站无法访问
我在AWS Red Hat Linux上托管了我的NodeJs网站,但它可从外部访问。 虽然当我从腻子运行我的nodejs服务器,它运行得很好。 在AWS Linux上托管的NodeJs网站无法访问
以下是我在nodejs.j中使用express框架的服务器创建代码。
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
一个应用程序,您收到此错误,因此您应该只使用另一个端口并配置您的Web服务器以将所有HTTP
请求转发到您的端口或停止Web服务器,也可以使用端口80您需要使用sudo
所以你的命令将是sudo node app.js
。如果你想检查哪些应用程序正在port 80
运行只需使用下面条命令:
sudo netstat -tupln | grep 80
输出应该告诉你哪些进程使用的端口,你可以杀了它,如果你想
无法正常工作,请参阅http://*.com/questions/40926433/aws-linux-ubuntu-hosted-application-is-not-accessible-from-public-ip –
您指向的问题与其中的不同你问这是不可访问的。在这里你问为什么你得到这个错误** uncaughtException:错误:听EADDRINUSE 服务器端口启动:80 ** – AJS
app.listen(80,"0.0.0.0", function() {
console.log('Server starts on port: ' + 80);
});``
它应该工作总是确保您的应用程序可通过网络访问,例如“0.0.0.0”参数enter code here
无法正常工作。见http://*.com/questions/40926433/aws-linux-ubuntu-hosted-application-is-not-accessible-from-public-ip –
'ps -ef | grep节点? –
@MukeshSharma:现在在问题中增加了它的输出。 –
从截图中清除。你的'node'进程没有运行。我想一旦你关闭了shell,你的节点进程就会关闭。试试'nohup node app.js&' –