我想将我的express应用程序运行在80端口。-->
作为一个unix、服务器、权限和部署方面的新手,除了解决方案外,非常感谢对导致我问题的基本概念的说明。例如..仅仅作为超级用户来运行我的node应用程序是否不好?以root/super-user身份运行
但是,最终如何使用
app.listen(80);
我使用PM2
管理应用程序(重新启动、停止、监视等),我有一个部署shell脚本,其最后一个命令是PM2 restart index
。从控制台输出中,我没有看到错误,PM2
报告成功完成了命令。但是当我访问my.ec2.ip.address:80
时,网站无法正常工作。此外,如果我在我的服务器项目目录中运行node index.js
,我会收到Error: listen EACCES 0.0.0.0:80
的错误提示。我认为这很有道理,因为端口80低于1024,因此是特权端口。sudo node index.js
可以允许启动。作为一个unix、服务器、权限和部署方面的新手,除了解决方案外,非常感谢对导致我问题的基本概念的说明。例如..仅仅作为超级用户来运行我的node应用程序是否不好?以root/super-user身份运行
PM2
是否是良好实践?命令sudo PM2 restart index
会导致sudo: pm2: command not found
。为什么在运行sudo PM2
时找不到PM2
?如果PM2
在我的路径中的话?但是,最终如何使用
PM2
来确保服务器运行在80端口上呢?