2013-03-29 8 views
7
macht

Ich weiß nicht, wie ich es auf Ubuntu Server nennen sollte, aber meistens arbeite ich unter Windows als Dienst zum Ausführen einer Anwendung der Hintergrund.Wie man einen 'Dienst' auf meiner Node.js Anwendung auf dem Ubuntu Server

ich bauen meine Web-Server basierend auf Node.js, so dass es zu implementieren auf Ubuntu trennen Ich brauche einen ‚Dienst‘ für Node.js laufen, ich möchte den ‚Dienst‘:

  1. auf das Rennen
  2. Hintergrund
  3. Hat die Fähigkeit, Node.js automatisch zu starten, wenn mein Web-Server abstürzt Node.js

Normalerweise laufe ich eine Node.js Anwendung durch ein Terminal öffnet eine der js-Datei. Aber von meinem Verständnis her ist dies mehr für Testzwecke, da es vom Terminal keine Garantie gibt, Node.js nach einem Fehler zu starten.

+5

Sie müssen 'forever' verwenden. Verwende 'npm install -g für immer'. Dann wirst du zum Verzeichnis deiner Knoten-App gehen und "forever start app.js" starten. –

+3

Schau dir http://labs.telasocial.com/nodejs-forever-daemon/ – robertklep

Antwort

21

Viele Menschen verwenden für immer https://github.com/nodejitsu/forever, die so ziemlich Industriestandard geworden ist.

Wenn Sie auf Ubuntu sind, können Sie auch Init-Skripte (google ‚ubuntu Emporkömmling‘) verwenden, die viel das gleiche tun, und sind garantiert, wenn der Server neu gestartet wird immer.

Hier ist mein Upstart-Skript zum Beispiel https://gist.github.com/qbert65536/5271721.

Es laufen wird, wenn der Server gestartet wird, steuern Sie sie auch mit

Start myapp, myapp stoppen, neu starten myapp, wo myapp.conf der Name des Emporkömmling Skript.

+0

Danke für das Beispiel-Upstart-Skript - ich immer Angenommen, Upstart-Skripte wären mühsam zu schreiben, und hätten nie daran gedacht, sich darum zu kümmern! – RobM

+0

Wie konfiguriert man, um beim Neustart der Maschine zu arbeiten? –

Verwandte Themen