파일의 변수를 사용하려면 systemctl을 지정하세요.

파일의 변수를 사용하려면 systemctl을 지정하세요.

저는 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

에서 가져옴https://coreos.com/os/docs/latest/using-environment-variables-in-systemd-units.html#environmentfile-directive

EnvironmentFile은 Environment 지시문과 유사하지만 텍스트 파일에서 환경 변수를 읽습니다. 텍스트 파일에는 새 줄로 구분된 변수 할당이 포함되어야 합니다.

예:

[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!"}

관련 정보