为什么systemd服务在启动时出错

Why is systemd service giving an error on start

我创建了一个新的 systemd 服务,但在启动该服务时一直出现错误,我不确定会发生什么。

/usr/bin/env: node: No such file or directory
systemd[1]: test-panel.service: main process exited, code=exited, status=127/n/a

这是我的服务文件

[Unit]
Description=Test Panel
After=network.target
[Service]
User=root
WorkingDirectory=/var/test/panel/
ExecStart=/root/.nvm/versions/node/v16.6.1/bin/npx directus start
Restart=always
RestartSec=500ms
StartLimitInterval=0
[Install]
WantedBy=multi-user.target

我有其他服务 运行 当 ExecStart 是带有脚本的节点时就可以了。此外,当我在活动目录中并手动调用 npx directus start 时,一切正常。

我最终通过调整 ExecStart 来改变我启动 Directus 的方式。

ExecStart=/root/.nvm/versions/node/v16.6.1/bin/node node_modules/directus/dist/start.js

这会正常启动服务,我还没有 运行 遇到任何缺点。