Nic*_*ury 4 ubuntu environment-variables systemd systemctl
我有一个使用NodeJs构建的nodeJS服务.此服务需要将一些环境变量传递给它.此外,我创建了一个systemd单元文件,从systemctl启动它.出于某些奇怪的原因,当使用systemctl启动时,该服务不会读取环境变量.例如,一个环境变量是HOST,其中包含将要绑定sails应用程序的IP.但是,如果我使用sails lift或节点app.js启动服务,它会读取环境变量.这是单位文件:
[Unit]
Description=project
[Service]
ExecStart=/usr/bin/node /mnt/project/app.js
Restart=always
StandardOutput=syslog
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
我尝试了一切.我将环境变量添加到/ etc/environment并将单元文件指向它,我还将它们添加到单元文件中,但没有任何效果.
pap*_*pey 14
就像是
[Unit]
Description=project
[Service]
ExecStart=/usr/bin/node /mnt/project/app.js
Restart=always
StandardOutput=syslog
Environment=KEY=VALUE
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
https://coreos.com/os/docs/latest/using-environment-variables-in-systemd-units.html
或者,另类如下:
EnvironmentFile=/path/to/env
Run Code Online (Sandbox Code Playgroud)
格式:
KEY=VALUE
KEY2=VALUE
Run Code Online (Sandbox Code Playgroud)
编辑:
对于多个env值
[Unit]
Description=project
[Service]
ExecStart=/usr/bin/node /mnt/project/app.js
Restart=always
StandardOutput=syslog
Environment=KEY=VALUE
Environment=KEY2=VALUE2 KEY3=VALUE3
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9890 次 |
| 最近记录: |