2012-01-16 13 views
6

Podczas programowania dobrze byłoby ponownie uruchomić program node.js automatycznie po pojawieniu się zmian w katalogu aplikacji. Gdy aplikacja jest w trakcie produkcji, węzeł może zostać uruchomiony tak jak zwykle. Gdy serwer zostanie ponownie uruchomiony z zamiarem lub bez niego, potrzeby węzła będą oczywiście ponownie uruchamiane.Utrzymywanie pliku node.js z uruchomioną usługą

Słyszałem o i próbowałem zarówno forever i supervisor. Supervisor działa dobrze, ale nie mogę go uruchomić podczas rozruchu. Forever z drugiej strony ignoruje wszelkie zmiany w moim katalogu.

Czy są dostępne alternatywy, które zrobiłyby to wszystko dla mnie?

Dzięki

Odpowiedz

5

Oto, co skończyło się robi:

poniższy kod został wprowadzony w /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 

Zawsze sprawdza zmian mój katalog węzłów, podczas gdy ten skrypt zapewnia, że ​​zawsze jest uruchamiany przy starcie.

1

I nie sądzę, jest prawdopodobne, aby znaleźć coś, który automatycznie uruchamia przy starcie węzeł, ale w zależności od systemu operacyjnego, nie jest to bardzo trudne. Czy możesz powiedzieć nam, jaki jest twój system operacyjny?

+0

Przepraszamy. To Ubuntu 11.10 na serwerze – Industrial

3

Niedawno zacząłem używać Foreman do zarządzania moimi aplikacjami. Możesz wyeksportować dane z Foreman do Upstart, co powinno rozwiązać Twój problem z obsługą ponownych uruchomień itp. W środowisku produkcyjnym (chociaż jeszcze tego nie zrobiłem).

Aby automatycznie aktualizować pliki po zmianie, sprawdź kod always. (Następnie uruchom zawsze z lokalnego Procfile przez Foremana - to moja konfiguracja).