
我用來systemctl
啟動並保持我的應用程式的運行。下面是我的.service
文件。注意Environment='METEOR_SETTINGS={"privateKey": "ohnoyouseemyprivatekey!"}'
.這是我將儲存私鑰的地方,我希望不要將其放在這個位置可見。
我的問題是,我到底如何要求 systemctl 從特定位置的檔案中讀取它
[Service]
ExecStart=/usr/bin/node /home/wow-doge/experimental/wow_doge_builds/bundle/main.js
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=logdoge
#User=root
#Group=root
Environment=NODE_ENV=production
Environment=PORT=3000
Environment=HTTP_FORWARDED_COUNT=1
Environment=MONGO_URL=mongodb://127.0.0.1:27017/wow-doge
Environment=ROOT_URL=https://localhost
Environment='METEOR_SETTINGS={"privateKey": "ohnoyouseemyprivatekey!"}'
[Install]
WantedBy=multi-user.target
答案1
EnvironmentFile 與環境指令類似,但從文字檔案讀取環境變數。文字檔案應包含換行符號分隔的變數分配。
例子:
[Service]
EnvironmentFile=/etc/envfile
內容/etc/envfile
:
NODE_ENV=production
PORT=3000
HTTP_FORWARDED_COUNT=1
MONGO_URL=mongodb://127.0.0.1:27017/wow-doge
ROOT_URL=https://localhost
METEOR_SETTINGS={"privateKey": "ohnoyouseemyprivatekey!"}