1. Введение в общий метод развертывания приложения Nodejs
Наконец, запускается развертывание приложения Nodejs, скопируйте исходный код в каталог через GIT
Скопируйте код следующим образом:/root/deploy/movie
Затем сделайте команду:
Кода -копия выглядит следующим образом:
~ cd/root/deploy/movie
Узел ./App.js
В приведенном выше методе программа NodeJS будет запускать в текущем интерфейсе консоли, а приложение также будет остановлено после завершения консоли. Давайте изменим команду, чтобы программа запустилась в фоновом режиме
Кода -копия выглядит следующим образом:
~ Узел ./App.js &
[1] 21333
[2013-06-21 09: 38: 30.696]
[2013-06-21 09: 38: 30.700]
Таким образом, программа будет начата в заднем плане. Процесс работает нормально, и мне не нужно слишком много делать.
Что если я хочу остановить эту программу? Найдите системный процесс Nodejs и убейте его.
Кода -копия выглядит следующим образом:
~ ps -Aux | Греп -узл
root 21333 0,6 3,7 909200 38292 PTS/0 SL 09:38 0:00 Узел App.js
~ Убить -9 21333
Прямое насильственное решение. Как было бы здорово, если бы он мог начать и закрыть приложение Nodejs, как системные службы! Далее мы будем использовать Upstart для инкапсуляции приложений Nodejs в системные службы.
2. Инкапсулируйте приложение в сценарий задачи Upstart
Кода -копия выглядит следующим образом:
~ vi /etc/init/nodejs-moive.conf
Описание "node.js vevb.com"
Начните с стартапа
Остановитесь на выключении
сценарий
Экспорт home = "/root/deploy/movie"
echo $$>> /var/run/moiveme.pid
Экспорт node_env = производство
exec/usr/bin/node/root/deploy/movie/server.js
#Log вывод
#Exec/usr/bin/node /root/deploy/movie/server.js >> /var/log/moiveme.log 2> & 1
конечный скрипт
Предварительный сценарий
echo "[` date -u +%y-%m-%dt%t.%3nz`] (sys) запуск ">> /var/log/moiveme.log
конечный скрипт
Предварительный скрипт
rm /var/run/moiveme.pid
Echo "[` date -u +%y-%m-%dt%t.%3nz`] (sys) остановка ">> /var/log/moiveme.log
конечный скрипт
3. Используйте Upstart для управления приложениями Nodejs
Запустите приложение Nodejs-Moive (сценарий задачи выше), идентификатор процесса: 21257
Кода -копия выглядит следующим образом:
~ Начните Nodejs-Moive
Nodejs-Moive Start/Running, Process 21257
~ tail -f /var/log/moiveme.log
[2013-06-21T09: 21: 17.122Z] (moive.me)
~ ps aux | grep node
Root 21257 8.0 3,7 909204 37824? Ssl 09:21 0:00/usr/bin/node/root/deploy/movie/server.js
Проверьте состояние работы, Process 21257 работает нормально
Кода -копия выглядит следующим образом:
~ Статус Nodejs-Moive
Nodejs-Moive Start/Running, Process 21257
Убить процесс приложения Nodejs 21257 и управлять через Upstart, приложение Nodejs-Moive будет автоматически перезагружать
Кода -копия выглядит следующим образом:
~ Убить -9 21257
#Аутоматически перезагрузить журнал
~ tail -f /var/log/moiveme.log
[2013-06-21T09: 21: 33.662Z] (moive.me)
# Проверьте системный процесс и обнаружите, что ID изменился
~ ps -Aux | Греп -узл
Root 21280 9,1 3.7 909204 37704? Ssl 09:21 0:00/usr/bin/node/root/deploy/movie/server.js
# Проверьте состояние процесса, идентификатор процесса действительно изменился, и он автоматически завершен
~ Статус Nodejs-Moive
Nodejs-Moive Start/Running, Process 21280
Это очень удобно для управления приложениями Nodejs в форме системных услуг через Upstart. Это будет легко работать и поддерживать! !