【问题标题】:Run node server in background在后台运行节点服务器
【发布时间】:2020-03-06 15:21:00
【问题描述】:

我希望节点服务器在后台运行。我读过那个帖子:How do I run a Node.js application as its own process?

我收到错误:

systemd[10948]: myapp_test.service: Failed to determine group credentials: No such process
systemd[10948]: myapp_test.service: Failed at step GROUP spawning /some-directory/index.js: No such process

myapp_test.service 文件:

[Unit]
Description=Something

[Service]
ExecStart=/some-directory/index.js
Restart=always
User=nobody
# Note Debian/Ubuntu uses 'nogroup', RHEL/Fedora uses 'nobody'
Group=nogroup
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=development
WorkingDirectory=/some-directory/

[Install]
WantedBy=multi-user.target

我尝试将“nobody”作为组,我尝试省略用户和组,但出现此错误:

systemd[11543]: myapp_test.service: Failed to execute command: Permission denied
systemd[11543]: myapp_test.service: Failed at step EXEC spawning /some-directory/index.js: Permission denied

如果我转到 some-directory 并输入 node index.js 一切正常(包括 NODE_ENV=development 设置)。

【问题讨论】:

    标签: node.js server configuration


    【解决方案1】:

    您似乎试图将服务作为系统实例运行,但服务本身定义为用户实例(通过使用 User=)

    尝试将 .service 文件复制到 /etc/systemd/user 使用 systemctl --user 选项运行和监控系统。

    要在用户的最后一个会话关闭后允许服务保留,请在此处查看 loginctl: https://wiki.archlinux.org/index.php/Systemd/User

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-17
      • 1970-01-01
      • 1970-01-01
      • 2014-11-06
      • 1970-01-01
      • 1970-01-01
      • 2020-07-24
      • 2017-01-28
      相关资源
      最近更新 更多