2014-12-03 15 views
8

Teraz jestem runnign moja aplikacja nodejs jako npm start. chcę go uruchomić w tle. Znalazłem pakiet forever, ale nie wiem, jak mogę uruchomić aplikację, którą zwykle uruchamiam jako npm start. Więc jak mogę go uruchomić przy użyciu forever?nodejs forever: Jak uruchomić moją aplikację npm

śledzę this SO ale otrzymuję ten błąd:

ENVIRONMENT=production forever start app.js 
warn: --minUptime not set. Defaulting to: 1000ms 
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms 
info: Forever processing file: app.js 

oprócz tego jest jakiś inny lepszy sposób uruchomić nodejs w tle?

+5

Nie widzę błędu, tylko ostrzeżenia ....? – Alex

Odpowiedz

13

Robisz to dobrze.

Ostrzeżenia przypominają tylko, że brakuje niektórych ważnych informacji, więc przypisuje wartości domyślne. Aby być dokładnym, jeśli skrypt ulegnie awarii/zakończy się wcześniej niż na sekundę po starcie, na zawsze również zakończy się na zawsze.


Jeśli chcesz pozbyć się tych ostrzeżeń:

forever start --minUptime 1000 --spinSleepTime 1000 app.js 

Ponadto, można otworzyć plik package.json, odnaleźć:

"scripts": { 
    "start": "node app.js" 
    }, 

i zmienić na:

"scripts": { 
    "start": "forever start --minUptime 1000 --spinSleepTime 1000 app.js", 
    "stop": "forever stop app.js" 
    }, 

Teraz możesz użyć npm start i automatycznie wywoła się forever.

+3

Dla każdego, kto widzi tego, kto używa ekspresowego generatora i uruchamia swoją aplikację za pomocą "npm start", zamień aplikację " ".js "z " \ "pwd \'/bin/www " – zephinzer

+0

brakuje przecinka po rozpoczęciu" cytatów ", co prowadzi do błędu. – ahmet

+1

@ahmet dzięki, zmodyfikowany – alandarev

0

Dla Linuksa Zastosowanie terminala i wprowadzić w trybie superużytkownika i spróbować te kod

$ nohup node <location of of js file> & 
$ exit 

Uwaga: Ten '&' jest koniecznością, zanim naciśnij enter

lub Polecenie npm, wystarczy przejść do lokalizacji za pomocą polecenia cd, w którym znajduje się plik package.json. Następnie

$ nohup npm start & 
$ exit 

Uwaga: Ten '&' jest koniecznością, zanim naciśnij enter

Aby zatrzymać to

$ top 

Można zobaczyć identyfikator procesu tutaj, a następnie użyć następującego kodu

$ kill -9 <PROCESS_ID>