1
루트가 아닌 사용자로서 upstart를 사용하여 nodejs 어플리케이션을 실행하려고합니다. 스크립트의
그러나 어떻게 든 부분은 실행되지 않습니다 : 예를 들면 : 나는 (예를 들어 아래) 루트 사용자처럼 실행하면 NODE_ENV라는 결코 극복UPSTART 스크립트 비 루트가 작동하지 않습니다
- /라고 할 수있는 유일한 방법은
"sudo initctl stop pdcapp"
을 함께 - 설정
sudo nameofApp start|stop
sudo initctl stop nameofApp
을 전화했을 때 나는 그것이 심지어 을 시작하지 않을 비 루트 사용자처럼 runit하려고하면
- 가 사전 정지 스크립트는 로그 파일
- 에 표시하지 않습니다 작동하지 않을 것입니다
이 작업을 더 쉽게 수행 할 수있는 더 쉬운 방법은 아닙니다 (systemd). 나는 다양한 튜토리얼을 살펴 봤는데 분명히 이것이 어떻게 수행되었는지 보여줍니다. 그래서 나는 무엇을 여기에서 놓치고 있냐?
이
그렇지 않으면 내가 로그 파일에 아무 것도 얻을, 내가 응용 프로그램을 중지 할 때 나는이 얻을의/var/로그/메시지/등/초기화/env FULL_PATH="/srv/pd/sept011100/dev"
env NODE_PATH="/usr/local/nodeJS/bin/node"
env NODE_ENV=production
start on filesystem or runlevel [2345]
stop on [!2345]
script
export NODE_ENV #this variable is never set
echo $$ > /var/run/PD.pid
cd $FULL_PATH
# the command below will not work
#exec sudo -u nginx "$NODE_PATH server.js >> /var/log/PD/pdapp.log 2>&1"
exec $NODE_PATH server.js >> /var/log/PD/pdapp.log 2>&1
end script
pre-start script
echo "[`date`] (sys) Starting" >> /var/log/PD/pdapp.log
end script
pre-stop script
rm /var/run/pdapp.pid
echo "[`date`] (sys) Stopping" >> /var/log/PDC/pdapp.log
end script
에서의 .conf 파일입니다
Sep 2 18:23:14 547610-redhat-dev2 init: pdcapp pre-stop process (6903) terminated with status 1
Sep 2 18:23:14 547610-redhat-dev2 init: pdcapp main process (6899) terminated with status 143
어떤 아이디어 왜 (그것을 사용에도 불구하고, 나는 6.5