将变量传递给 systemd 服务启动不起作用

将变量传递给 systemd 服务启动不起作用

Ubuntu 18.04

铸造错误服务

[Unit]
Description= /home/man/errorpage/error_pages.js - User errorpage.
Documentation=https://blah.com
After=network.target

[Service]
Environment=NODE_PORT=%i

Type=simple
User=man
ExecStart=/usr/bin/node /home/man/errorpage/error_pages.js
Restart=on-failure

[Install]
WantedBy=multi-user.target

我尝试将端口传递给启动器。

systemctl start foundry-error@8000
systemctl start [email protected]
systemctl start foundry-error.service@8000

所有这些迭代都返回“单元...未找到”。因此,我不确定如何传递端口号,因为我需要传递 3 个不同的端口。我已从 root 和 sudo man 执行此操作。全部都是同一个问题。

答案1

服务文件应命名为[email protected]。您的文件缺少 at 符号。另外,请确保它位于正确的目录中(通常为/etc/systemd/system/)。

前两种调用服务的方式是正确的,最后一种方式是无效的。

相关内容