
Ich verwende es, systemctl
um meine App zu starten und am Leben zu erhalten. Unten ist meine .service
Datei. Beachten Sie das Environment='METEOR_SETTINGS={"privateKey": "ohnoyouseemyprivatekey!"}'
. Hier werde ich private Schlüssel speichern und ich möchte sie an diesem Ort nicht sichtbar platzieren.
Meine Frage ist, wie genau ich systemctl auffordere, es aus einer Datei an einem bestimmten Ort in zu lesen
[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
Antwort1
EnvironmentFile ähnelt der Environment-Direktive, liest aber die Umgebungsvariablen aus einer Textdatei. Die Textdatei sollte durch Zeilenumbrüche getrennte Variablenzuweisungen enthalten.
Beispiel:
[Service]
EnvironmentFile=/etc/envfile
Inhalt von /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!"}