我正在尝试在80端口上使一个node.js网站上线(我使用的是Digital Ocean)。我正在使用systemd文件进行此操作。
我试图在系统启动后自动启动我的Node.js应用程序并将其绑定到端口80。为此,我创建了一个systemd服务文件,并使用以下命令将其启用:
sudo systemctl enable myapp.service
然后,我可以使用以下命令来启动/停止/重新启动我的应用程序:
sudo systemctl start myapp
sudo systemctl stop myapp
sudo systemctl restart myapp
...
ExecStart=/usr/bin/nodejs /var/www/bin/app.js
...
在本地主机上,如果我使用sudo启动网站并在端口80上运行,则可以正常工作,但是没有使用sudo时就不能正常运行。显然,对于低于1024的端口,您需要以root身份运行。
我该如何在ExecStart中允许sudo?或者我完全错了吗?如果是这样,我该如何将表达应用程序放在端口80上?
谢谢,Mike