【发布时间】:2020-12-01 08:39:21
【问题描述】:
我在目录/lib/systemd/system/ 中创建了一个systemd 服务文件来启动nodejs 作为服务。问题是该文件在ExecStart 字段中包含nodej 的硬编码路径。这意味着每当我更新nodejs 时,我都必须手动更改此服务文件。有没有办法使用下面文件中的which node命令来自动设置路径?
[Unit]
Description=node-server-1
After=network.target
[Service]
Environment=NODE_PORT=3001
Type=simple
User=manid
ExecStart=/home/manidos/.nvm/versions/node/v14.15.1/bin/node /home/manidos/node-nginx/index.js
Restart=on-failure
[Install]
WantedBy=multi-user.target
【问题讨论】:
-
编写你自己的脚本,使用哪个节点和节点在其中启动命令,然后在 systemd 服务文件中引用它。
-
你应该创建一个指向当前版本的链接并引用它:ln -s /home/manidos/.nvm/versions/node/v14.15.1 /home/manidos/.nvm/versions/node /当前