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. Это выглядит довольно интересно.