gpt4 book ai didi

node.js - 将 sudo 与 ExecStart (systemd) 结合使用

转载 作者:搜寻专家 更新时间:2023-10-31 22:37:46 24 4
gpt4 key购买 nike

我正在尝试在端口 80 上运行一个 node.js 站点(我正在使用 Digital Ocean)。我在服务文件中使用 systemd 执行此操作

...
ExecStart=/usr/bin/nodejs /var/www/bin/app.js
...

在本地主机上,如果我使用 sudo 启动站点,这在端口 80 上工作正常,但在没有 sudo 的情况下。显然你需要以 root 身份运行低于 1024 的端口。

如何在 ExecStart 中启用 sudo?或者我在这里完全走错了路,如果是这样,我如何在端口 80 上获取 express 应用程序?

干杯,迈克

最佳答案

Systemd 默认以 root 身份启动 ExecStart= 中声明的可执行文件。

但是,如果您在服务文件中指定了 User=Group= 覆盖默认值,并且仍然需要运行需要 sudo,在命令前加上您的 sudo 位置的绝对路径:

...
ExecStart=/usr/bin/sudo /usr/bin/nodejs /var/www/bin/app.js
...

关于node.js - 将 sudo 与 ExecStart (systemd) 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36959877/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com