我在AWS Red Hat Linux上托管了我的NodeJs网站,但可以从外部访问。 虽然当我从putty运行我的nodejs服务器时,它运行得很好。
下面是我在nodejs中的服务器创建代码。我正在使用带有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
答案 0 :(得分:0)
您收到此错误,因为已有一个应用程序在您的系统上使用port 80
,可能是Apache
或Nginx
,因此您应该只使用其他端口并配置您的网络-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