4 Prozessmanager für Node.js-Anwendungen unter Linux

EIN Node.js Prozessmanager ist ein nützliches Werkzeug, um sicherzustellen, dass a Node.js Der Prozess oder das Skript wird kontinuierlich (für immer) ausgeführt und kann beim Systemstart automatisch gestartet werden.

Es ermöglicht Ihnen die Überwachung der ausgeführten Dienste und erleichtert allgemeine Systemverwaltungsaufgaben (z. B. Neustart bei Ausfall, Stoppen, erneutes Laden von Konfigurationen ohne Ausfallzeiten, Ändern von Umgebungsvariablen / -einstellungen, Anzeigen von Leistungsmetriken und vieles mehr). Es unterstützt auch Anwendungsprotokollierung, Clustering und Lastausgleich sowie viele andere nützliche Funktionen zur Prozessverwaltung.

Lesen Sie auch: 14 besten NodeJS-Frameworks für Entwickler im Jahr 2019

Ein Paketmanager ist insbesondere für die Bereitstellung von nützlich Node.js Anwendungen in einer Produktionsumgebung. In diesem Artikel werden vier Prozessmanager für überprüft Node.js Anwendungsverwaltung in einem Linux-System.

1. PM2

PM2 ist ein Open Source, fortschrittlich, funktionsreich, plattformübergreifend und der beliebteste Prozessmanager auf Produktionsebene für Node.js mit einem eingebauten Load Balancer. Sie können alle gestarteten Objekte auflisten, überwachen und bearbeiten Nodejs Prozesse und unterstützt den Cluster-Modus.

Installieren Sie PM2, um Nodejs Apps unter Linux auszuführen
Installieren Sie PM2, um Nodejs Apps unter Linux auszuführen


Es unterstützt die Anwendungsüberwachung: bietet eine einfache Möglichkeit, die Ressourcennutzung (Speicher und CPU) Ihrer Anwendung zu überwachen. Es unterstützt Ihren Prozessverwaltungsworkflow, indem Sie das Verhalten jeder Anwendung über eine Prozessdatei konfigurieren und optimieren können (unterstützte Formate umfassen) Javascript, JSON, und Yamla).

Anwendungsprotokolle sind in dieser Hinsicht in einer Produktionsumgebung immer von entscheidender Bedeutung PM2 Ermöglicht die einfache Verwaltung der Protokolle Ihrer Anwendung. Es bietet verschiedene Möglichkeiten und Formate für die Verarbeitung bzw. Anzeige von Protokollen. Sie können Protokolle in Echtzeit anzeigen, leeren und bei Bedarf neu laden.

Wichtig ist, PM2 unterstützt Startskripte, die Sie so konfigurieren können, dass Ihre Prozesse bei erwarteten oder unerwarteten Neustarts des Computers automatisch gestartet werden. Es unterstützt auch den automatischen Neustart einer Anwendung, wenn eine Datei im aktuellen Verzeichnis oder in seinen Unterverzeichnissen geändert wird.

Zusätzlich, PM2 wird mit einem Modulsystem geliefert, mit dem Benutzer benutzerdefinierte Module für das Nodejs-Prozessmanagement erstellen können. Sie können beispielsweise ein Modul für das Protokollrotationsmodul oder den Lastausgleich erstellen und vieles mehr.

Wenn Sie Docker-Container verwenden, ermöglicht PM2 die Integration von Containern und bietet ein API-System, mit dem Sie es programmgesteuert verwenden können.

2. StrongLoop PM

StrongLoop PM ist auch ein Open-Source-Manager für fortgeschrittene Produktionsprozesse für Node.js Anwendungen mit integriertem Lastausgleich genau wie PM2 und es kann über eine Befehlszeile oder eine grafische Oberfläche verwendet werden.

StrongLoop PM Process Manager für Nodejs
StrongLoop PM Process Manager für Nodejs

Es unterstützt die Anwendungsüberwachung (Anzeigen von Leistungsmetriken wie Ereignisschleifenzeiten, CPU- und Speicherverbrauch), die Bereitstellung mehrerer Hosts, den Cluster-Modus, Neustarts und Upgrades von Anwendungen ohne Ausfallzeiten, den automatischen Neustart von Prozessen bei Fehlern sowie die Protokollaggregation und -verwaltung.

Darüber hinaus wird es mit geliefert Docker Unterstützung, ermöglicht es Ihnen, Leistungsmetriken auf StatsD-kompatible Server zu exportieren und in Konsolen von Drittanbietern wie z DataDog, Graphit, Splunk sowie Syslog- und Raw-Protokolldateien.

3. Für immer

Für immer ist ein Open-Source-Tool für die einfache und konfigurierbare Befehlszeilenschnittstelle, mit dem ein bestimmtes Skript kontinuierlich (für immer) ausgeführt werden kann. Es eignet sich für kleinere Bereitstellungen von Node.js Apps und Skripte. Sie können verwenden für immer auf zwei Arten: über die Befehlszeile oder durch Einbetten in Ihren Code.

Führen Sie Skripte für immer kontinuierlich aus
Führen Sie Skripte für immer kontinuierlich aus

Sie können damit verwalten (starten, auflisten, stoppen, alle stoppen, neu starten, alle neu starten usw.). Node.js Prozesse und unterstützt das Überwachen von Dateiänderungen, den Debug-Modus, Anwendungsprotokolle, das Beenden eines Prozesses und das Beenden der Signalanpassung und vieles mehr. Darüber hinaus werden verschiedene Verwendungsoptionen unterstützt, die Sie direkt über die Befehlszeile oder in einer JSON-Datei übergeben können.

4. SystemD – Service und System Manager

Unter Linux ist Systemd ein Daemon, der Systemressourcen wie Prozesse und andere Komponenten des Dateisystems verwaltet. Jede Ressource, die von verwaltet wird System ist bekannt als Einheit. Es gibt verschiedene Arten von Einheiten einschließlich Service, Gerät, Sockel, Halterung, Ziel und viele andere Einheiten.

Systemd verwaltet Einheiten über eine Konfigurationsdatei, die als a bezeichnet wird Einheit Datei. Daher, um Ihre zu verwalten Node.js Server wie bei allen anderen Systemdiensten müssen Sie dafür eine Einheitendatei erstellen, in diesem Fall eine Dienstdatei.

Sobald Sie eine Servicedatei für Ihre erstellt haben Node.js Auf dem Server können Sie ihn starten, beim Autostart automatisch starten, seinen Status überprüfen, neu starten (stoppen und erneut starten) oder seine Konfiguration neu laden und ihn sogar wie alle anderen systemd-Dienste stoppen.

Weitere Informationen finden Sie unter: Erstellen und Ausführen neuer Serviceeinheiten in Systemd mithilfe von Shell-Skripten

Zusammenfassung

EIN Node.js Der Paketmanager ist ein nützliches Tool zum Bereitstellen Ihres Projekts in einer Produktionsumgebung. Es hält eine Anwendung für immer am Leben und vereinfacht, wie Sie sie steuern können. In diesem Artikel haben wir vier Paketmanager auf überprüft Node.js. Wenn Sie Ergänzungen oder Fragen haben, nutzen Sie das unten stehende Feedback-Formular, um uns zu erreichen.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *