я запускаю веб-сайт, который использует узел.JS на Ubuntu Server (14.04 LTS). После перезагрузки машины, мой текущий рабочий процесс вручную запустить сервер вручную, выполнив команду
$ forever start app.js
Я сейчас пытаюсь автоматизировать этот процесс с Upstart. Я использовал chkconfig на RHEL раньше, но я новичок в выскочке. Я написал следующий скрипт и сохранил его в / etc/init / myapp.conf.
#!upstart
description "Start the node process with Upstart"
start on startup
stop on shutdown
expect fork
env APP_DIR="/path/to/app"
env NODE_BIN="/usr/local/bin"
env HOME_DIR="/home/admin"
script
date
echo "Starting"
su admin
cd $APP_DIR
PATH=$NODE_BIN:$PATH
HOME=$HOME_DIR
echo "Running forever start"
forever start app.js
end script
pre-stop script
date
echo "Stopping"
su admin
cd $APP_DIR
PATH=$NODE_BIN:$PATH
HOME=$HOME_DIR
echo "Running forever stop"
forever stop app.js
end script
тем не менее, сценарий, кажется, не работа. Когда я бегу sudo start myapp
или sudo stop myapp
консоль просто зависает.
Я хотел бы Upstart эмулировать как можно ближе к тому, что произойдет, если я просто вошел в компьютер после перезагрузки и побежал forever start app.js
, включая пользователя, выполняющего процесс, расположения файлов журнала по умолчанию и т. д.
какие идеи?