So installieren und konfigurieren Sie PM2 auf Linux-Servern
Die Bereitstellung ist eine der wichtigsten und schlüssigsten Phasen der Softwareentwicklung. Eine geeignete Bereitstellungsstrategie ist entscheidend, um Ihren Benutzern die beste Erfahrung zu bieten und gleichzeitig Ihre Dienste effizient zu nutzen. Dieser Prozess bringt jedoch auch seine eigenen Herausforderungen mit sich.
Node.js, die Open-Source-JavaScript-Laufzeit, ist eine beliebte Wahl für den Aufbau der Back-End-Infrastruktur Ihrer Anwendung, indem Sie JavaScript außerhalb von Webbrowsern ausführen können. Aber was ist, wenn Ihre Node.js-Anwendung in der Produktion abstürzt? Erfahren Sie in diesem Artikel, wie Sie solche Szenarien vermeiden können.
Was ist PM2 und warum brauchen Sie es?
PM2 ist ein Daemon-Prozessmanager, der es Ihnen ermöglicht, Node.js-Anwendungen für immer am Leben zu halten, sie ohne Ausfallzeiten neu zu laden, Anwendungsprotokollierung, Überwachung und Clustering zu verwalten.
Stellen Sie sich vor, Ihr Node.js-Webserver stürzt aufgrund eines Laufzeitfehlers ab. Ohne so etwas wie PM2 zu verwenden, müssten Sie den Status Ihrer Anwendung regelmäßig manuell verfolgen und sie jedes Mal neu starten, wenn sie ausfällt. PM2 hilft Ihnen, diesen Prozess zu automatisieren und hält Ihre Bewerbung rund um die Uhr online, auch wenn etwas schief geht.
PM2 auf Linux-Servern installieren
Stellen Sie vor der Installation von PM2 sicher, dass Node.js und NPM auf Ihrem Linux-Server installiert sind , um das PM2-Paket aus den Node Package Manager- Repositorys herunterzuladen.
Sobald Sie Node.js auf Ihrem Server zum Laufen gebracht haben, installieren Sie PM2, indem Sie diesen Befehl ausführen:
npm install -g pm2
Ausgabe:
Das Flag -g im obigen Befehl steht für Global und ermöglicht Ihnen die Verwendung von PM2 für alle Ihre Node.js-Anwendungen. Abhängig von den Berechtigungen Ihres Benutzerkontos müssen Sie möglicherweise zu Beginn des Befehls sudo hinzufügen.
Ausführen von Knoten-Apps mit PM2
Navigieren Sie nach Abschluss des Installationsvorgangs mit dem Befehl cd zu dem Verzeichnis, in dem sich Ihre Node.js-Anwendung befindet. Innerhalb des Projektverzeichnisses können Sie eine JavaScript-Datei mit PM2 mit dem folgenden Befehl ausführen:
pm2 start filename.js
Wenn sich beispielsweise der Einstiegspunkt zu Ihrer Node.js-Anwendung in der Datei index.js befindet, können Sie die Datei folgendermaßen ausführen:
pm2 start index.js
Falls Sie Änderungen an Ihrer Anwendung vornehmen müssen, können Sie dies mit einem Befehlszeilen-Texteditor tun, um den Code zu bearbeiten, und dann Ihre PM2-Anwendungsinstanz mit diesem Befehl neu starten:
pm2 restart filename.js
Um die Anwendung stattdessen vollständig zu beenden, verwenden Sie diesen Befehl:
pm2 stop filename.js
Anstatt eine einzelne Datei mit PM2 auszuführen, können Sie auch NPM-Skripte ausführen, die sich in der Datei package.json Ihrer Node.js-Anwendung befinden. Zum Beispiel, wenn Sie das Startskript ausführen möchten, strukturieren den Befehl auf diese Weise:
pm2 start npm --name <app_name> -- start
Anzeigen von Protokollen und Statistiken
Um Fehler zu überwachen, die während der Laufzeit auftreten können, bietet Ihnen PM2 die Möglichkeit, die von Ihrer Anwendung generierten Protokolle auszuchecken. So können Sie sie anzeigen:
pm2 logs <app_name>
Um alle laufenden Prozesse zu überwachen, wird PM2 mit einem praktischen Terminal-basierten Dashboard geliefert, um die CPU- und RAM-Auslastung zu beobachten, auf das Sie mit diesem Befehl zugreifen können:
pm2 monit
So zeigen Sie die restlichen Details und Metadaten an, z. B. die Anwendungsversion, die Anzahl der Neustarts, die Betriebszeit, Skriptargumente und mehr:
pm2 show <app_name>
Stellen Sie Node.js-Apps problemlos für die Produktion bereit
Die Verwendung eines Prozessmanagers wie PM2 kann den Aufwand für die ständige Überwachung des Status und der Betriebszeit Ihrer Node.js-Anwendung massiv reduzieren. Mit dem integrierten Load Balancer können Sie eine höhere Leistung und Zuverlässigkeit für Ihre Dienste erwarten.
Apropos Bereitstellung: Sie würden höchstwahrscheinlich eine virtuelle Linux-Maschine verwenden, um Apps in der Cloud bereitzustellen. Sie sind sich nicht sicher, wie Sie das tun könnten? Im Folgenden finden Sie eine Anleitung für die ersten Schritte mit virtuellen Computern in Azure.