2012-01-16 15 views
6

Durante lo sviluppo sarebbe bello riavviare automaticamente node.js quando si verificano cambiamenti nella directory delle applicazioni. Quando l'applicazione è in produzione, il nodo potrebbe essere avviato come normalmente. Quando il server viene riavviato con o senza intenzione, il nodo deve ovviamente essere riavviato.Mantenere node.js in esecuzione

Ho sentito parlare e provato sia forever e supervisor. Supervisor funziona bene, ma non riesco a farlo per avviarsi durante l'avvio. D'altra parte, d'altra parte ignora qualsiasi cambiamento nella mia directory.

Ci sono alternative disponibili che farebbero tutto questo per me?

Grazie

risposta

5

Ecco quello che ho finito per fare:

Di seguito il codice è stato messo in /etc/init/myApplication.conf:

# Enter below 
respawn 
console none 

start on runlevel [2345] 
stop on runlevel [06] 

script 
    sudo always /var/www/backend/app.js > /var/www/backend/nodelog.log 
end script 

controlla sempre per i cambiamenti nel la mia directory del nodo mentre questo script garantisce che venga sempre avviato all'avvio.

1

non credo si rischia di trovare tutto ciò che si avvia automaticamente all'avvio del nodo, ma a seconda del sistema operativo, questo non è molto difficile. Potresti dirci qual è il tuo sistema operativo?

+0

Siamo spiacenti. È Ubuntu 11.10 sul server – Industrial

3

Ho recentemente iniziato a utilizzare Foreman per gestire le mie app. È possibile esportare da Foreman a Upstart che dovrebbe risolvere il problema con la gestione dei riavvii, ecc. In un ambiente di produzione (anche se non l'ho ancora fatto)

Per aggiornare automaticamente i file sulle modifiche, vedere always. (Poi gestita sempre dalla tua Procfile locale attraverso Foreman - questo è il mio setup.)

Problemi correlati