node.js - 托管在 AWS linux 上的 NodeJs 网站无法访问

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

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

下面是我在 nodejs 中创建服务器的代码。我正在使用 express 框架和 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

最佳答案

您收到此错误是因为您的系统上已经有一个应用程序正在使用 port 80,可能是 ApacheNginx,所以你应该只使用另一个端口并配置你的网络服务器以将所有 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/

相关文章:

linux - 如何在 Synology Diskstation DS713+ 上安装 node.js

php - 打开 Office 进行 doc、docx 和 rtf 到 html 的转换

linux - 如何使用 Ubuntu "rename"工具替换目录名和文件名中的字符串?

amazon-web-services - 无效的数据库实例类 : db. t2.micro

node.js - 使用异步与 http.get、node js

javascript - 使用 Multer 上传文件并在解析和上传到数据库之前将其短暂存储在内存中

node.js - WebSockets 服务器

linux - 如何设置 cron 显示 gui 应用程序

ios - Swift - 变量不保留值(value)

node.js - AWS Elastic Beanstalk : Loading local module causes errors