Как запустить node.js + супервизор при загрузке? - PullRequest
4 голосов
/ 16 января 2012

После установки и настройки node.js на моей виртуальной машине разработки под управлением Ubuntu 11.10 я бы хотел, чтобы supervisor запускался автоматически при загрузке, вызывая и перезагружая node.js при необходимости.

Ниже фрагмент хорошо работает, когда он запускается моим пользователем по умолчанию в терминале, но как я могу заставить его работать при загрузке?

cd /var/ && supervisor -w www www/myapp/app.js

Спасибо

Ответы [ 2 ]

8 голосов
/ 16 января 2012

Upstart plus monit работает достаточно хорошо, чтобы запустить все во время загрузки и поддерживать процессы узла. Плюс вы можете использовать npm для их установки. Вот тут .

Я не уверен, почему супервизор должен запускаться при загрузке (логически, единственное время, когда вам нужно это, пока вы загружаете новые файлы), но я думаю, что его можно запустить при загрузке, просто создание новой конфигурации upstart (используя ту же самую вышеприведенную формулировку для фундамента):

#!upstart
description "myapp supervisor"
author      "you"

start on startup
stop on shutdown

script
    echo $$ > /var/run/supervise_yourprogram.pid
    // does it need root access? if so...
    // exec sudo -u username supervisor --restart-on-error myapp.js
    supervisor --restart-on-error myapp.js
end script

pre-stop script
    rm /var/run/supervise_yourprogram.pid
end script

Я не уверен, что вам понадобится monit для этого случая, так как у supervisor есть свой собственный --restart-on-error.

И здесь совершенно другой подход , использующий обертку, которую вы вызываете вместо вашего app.js. Это выглядит довольно интересно.

0 голосов
/ 16 января 2012

Эта страница Ubuntu содержит инструкции о том, как написать сервис для Ubuntu.

...