2014-04-09 2 views
0

환경 변수를 수퍼바이저 내부의 다른 환경 변수로 설정하려고합니다. 여기 예가 있습니다 :수퍼바이저 스크립트 내에서 다른 환경 변수에 환경 변수 설정

[supervisord] 
nodaemon=true 
loglevel = debug 

[program:nodejs] 
redirect_stderr = true 
environment=REDIS_URL=$REDIS_PORT 
directory = /usr/src/myapp/ 
command = node /usr/src/myapp/app.js 
autostart = true 
autorestart = true 

나는 env를 문자열로 설정할 수 있습니다. 모든 것이 작동합니다. 다른 env var에 환경 변수를 설정하는 방법이 있습니까? 감사. 다음과 같이

+0

명령 '은 수정' '를 다음과 같이 명령 =/빈/bash는 -c'수출 REDIS_URL = $ REDIS_PORT && 노드 /usr/src/iodocs/app.js ' 하지만 그건 –

+0

꽤 해키 왜이 태그가 보인다을 'nodejs'? nodejs 또는 간단한 bash 스크립트의 환경 변수에 대해 이야기하고 있습니까? – callmekatootie

+0

아마도 env-vars를 사용하여 노드를 호출하는 방법이있을 수 있다고 생각해서는 안됩니다. 나는 제거 할 것이다. –

답변

2

이 최적의 솔루션 아니지만, 나는 기본적으로 bash 쉘에이 압연 :

[supervisord] 
nodaemon=true 

[program:nodejs] 
user = www-data 
directory = /usr/src/iodocs/ 
command = /bin/bash -c 'export REDIS_URL=$REDIS_PORT && node app.js' 
autostart = true 
autorestart = true 

작품,하지만 꽤되지

나는 '환경을 제거하여이 작업을 수행 할 수 있었다