1
我試圖用upstart作爲非root用戶來運行nodejs應用程序。
但不知何故部分的腳本將不會運行:例如:UPSTART腳本非root不能正常工作
- 如果我運行它像一個超級用戶(如下圖所示)NODE_ENV不會被調用/套
- 到所謂的唯一途徑是
"sudo initctl stop pdcapp"
sudo nameofApp start|stop
是行不通的- 調用時
sudo initctl stop nameofApp
前停止腳本不會回顯到日誌文件 - ,如果我嘗試runit像非root用戶將不會開始
是不是一個更簡單的方法做到這一點(systemd)我看了各種教程,顯然這是他們如何完成。所以我在這裏錯過了什麼?
這是在/ var/log/messages中我得到這個,當我停止該應用程序在/ etc /初始化/
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
任何想法,這是爲什麼不工作,我的redhat 6.5運行