So ermöglichen Sie PM2, einen automatischen Startknoten zu erhalten.JS -App beim System Boot

So ermöglichen Sie PM2, einen automatischen Startknoten zu erhalten.JS -App beim System Boot

PM2 ist ein leistungsstarker, weit verbreiteter und merkmalreicher, produktionsbereiteter Prozessmanager für Knoten.JS. Neu starten PM2 Mit den Prozessen, die es jedes Mal verwaltet, ist Ihr Serverstiefel/Neustart kritisch. Eine der wichtigsten Funktionen von PM2 ist die Unterstützung für ein Startskript (dynamisch generiert auf dem Standard -Init -System auf Ihrem Server), das neu gestartet wird PM2 und Ihre Prozesse auf jedem Server neu starten.

[Möglicherweise mögen Sie auch: So installieren Sie PM2 zum Ausführen von Knoten.JS -Apps auf Produktionsserver]

Das Startskript wird eingerichtet PM2 als Dienst unter dem drin System. Wenn der Server neu gestartet wird, wird automatisch neu gestartet PM2, Dies startet dann den gesamten Knoten neu.JS -Anwendungen/-prozesse, die es verwaltet.

In diesem Artikel zeigen wir Ihnen, wie Sie bereitgestellt werden PM2 Als Service, um Ihre zuverlässig zu verwalten Knoten.JS Apps. Für diese Anleitung verwendet das Testsystem a systemd Service- und Systemmanager. Alle Befehle in diesem Artikel werden als ausgeführt als Wurzel (verwenden sudo Bei Bedarf ein Benutzer mit Berechtigungen, um es aufzurufen).

Generieren Sie PM2 -Startskript für Init System

PM2 ist so konzipiert, dass sie mit dem Standard arbeiten drin System auf einem Linux-System (das automatisch erstellt werden kann), um das Startskript zu generieren und zu konfigurieren PM2 Als Dienst, der am Systemstiefel neu gestartet werden kann.

Um das Startskript zu generieren, führen Sie einfach den folgenden Befehl als root aus:

# PM2 -Startup 

Der Start-up Sub-Command erzählt PM2 Um das verfügbare Init -System zu erkennen, generieren Sie Konfiguration und aktivieren Sie das Startsystem.

Erstellen Sie PM2 Start -Skript für Init

Sie können das Init -System auch explizit angeben wie SO:

# PM2 Startup -Systeme 

Um zu bestätigen, dass die PM2 Der Startdienst ist im Betrieb unter systemd, Führen Sie den folgenden Befehl aus (ersetzen Sie die PM2-Root.Service Überprüfen Sie mit dem tatsächlichen Namen Ihres Dienstes die Ausgabe des vorherigen Befehls):

# Systemctl Status PM2-Root.Service 

Starten Sie den Knoten.JS -Anwendungen/-prozesse

Als nächstes möchten Sie Ihre starten Knoten.JS Anwendungen verwenden PM2 folgendermaßen. Wenn Sie sie bereits in Betrieb haben, startete Sie durch PM2, Sie können diesen Schritt überspringen:

# cd/var/www/backend/api-v1-staging/ # pm2 start src/bin/www.JS -n API-Service-Staging 
Starten Sie die NodeJS -Anwendung

Als nächstes müssen Sie die aktuelle Liste der Prozesse registrieren/speichern, die Sie verwalten möchten PM2 Damit sie beim Systemstart (jedes Mal oder eines unerwarteten Server-Neustarts ein unerwarteter Server neu starten), indem sie den folgenden Befehl ausführen:

# PM2 Speichern 
Sparen Sie die Liste der Prozesse

Überprüfen Sie PM2 Auto Startnode.JS -Apps beim Boot

Schließlich müssen Sie testen, ob das Setup gut funktioniert. Starten Sie Ihr System neu und prüfen Sie, ob der gesamte Knoten.JS -Prozesse werden unter PM2 ausgeführt.

# PM2 LS oder # PM2 Status 

Beachten Sie, dass Sie Prozesse manuell wiederbeleben können, indem Sie den folgenden Befehl ausführen:

# PM2 Resurrect 

Deaktivieren Sie das Startsystem

Sie können das Startsystem deaktivieren, indem Sie das ausführen nicht abgestart Unterkommando wie gezeigt.

# PM2 Unstartup oder # PM2 -Start -Systemd 

Um das Startskript zu aktualisieren, deaktivieren Sie es zuerst und starten Sie es erneut wie gezeigt.

# PM2 Unstartup # PM2 -Startup 

Referenz: PM2 -Startskriptgenerator.