So installieren Sie PM2, um den Knoten auszuführen.JS -Apps auf dem Produktionsserver

So installieren Sie PM2, um den Knoten auszuführen.JS -Apps auf dem Produktionsserver

PM2 ist eine kostenlose Open Source, Advanced-, Effiziente und plattformübergreifende Produktionsmanagerin für Produktionsebene für Knoten.JS mit einem eingebauten Lastausgleicher. Es funktioniert unter Linux, MacOS sowie Windows. Es unterstützt die App-Überwachung, die effiziente Verwaltung von Mikrodiensten/-prozessen, die Ausführung von Apps im Clustermodus, anmutiger Start und Herunterfahren von Apps.

Es hält Ihre Apps “für immer lebendig”Mit automatischen Neustarts und kann aktiviert werden, um mit dem Systemstart zu starten, um so zu ermöglichen, so Hohe Verfügbarkeit (HA) Konfigurationen oder Architekturen.

Vor allem, PM2 ermöglicht es Ihnen, Ihre Apps auszuführen Clustermodus Ohne Änderungen in Ihrem Code vorzunehmen (dies hängt auch von der Anzahl der CPU -Kerne auf Ihrem Server ab). Es ermöglicht Ihnen auch, App -Protokolle einfach zu verwalten und vieles mehr.

Darüber hinaus hat es auch eine unglaubliche Unterstützung für Major Knoten.JS Frameworks wie Äußern, Adonis JS, Segel, Hapi und mehr ohne Notwendigkeit von Codeänderungen. PM2 wird von Unternehmen wie so verwendet IBM, Microsoft, Paypal, und mehr.

In diesem Artikel werden wir erklären, wie man installiert und verwendet PM2 laufen Nodejs Apps in Linux Production Server. Wir erstellen eine App, um einige der grundlegenden Funktionen von PM2 zu demonstrieren, damit Sie beginnen können.

Schritt 1: Installieren Sie NodeJS und NPM unter Linux

1. Um die neueste Version von zu installieren Knoten.JS Und NPM, Zuerst müssen Sie offizielles Nodesource -Repository unter Ihrer Linux -Verteilung aktivieren und dann installieren Knoten.JS Und NPM Pakete wie gezeigt.

Auf Debian/Ubuntu

---------- Knoten installieren.JS V11.X ---------- $ curl -l https: // deb.nodesource.com/setup_11.x | sudo -e bash -$ sudo apt -Get -y nodejs installieren ---------- Knoten installieren.JS V10.X ---------- $ curl -l https: // deb.nodesource.com/setup_10.x | sudo -e bash -$ sudo apt -Get -y nodejs installieren 

Auf Centos/Rhel und Fedora

---------- Knoten installieren.JS V11.X ---------- $ curl -l https: // rpm.nodesource.com/setup_11.x | verprügeln - ---------- Knoten installieren.JS V10.X ---------- $ curl -l https: // rpm.nodesource.com/setup_10.x | verprügeln - 

Schritt 2: Erstellen Sie eine NodeJS -Anwendung

2. Lassen Sie uns nun eine Testanwendung erstellen (wir gehen davon aus, dass sie über eine Client- und Administratorseite verfügt, die dieselbe Datenbank gemeinsam nimmt). Die Microservices werden auf Ports ausgeführt 3000, Und 3001 bzw.

$ sudo mkdir -p/var/www/html/app $ sudo mkdir -p/var/www/html/adminside $ sudo vim/var/www/html/app/server.JS $ sudo vim/var/www/html/adminside/server.JS 

Kopieren Sie als nächstes die folgenden Codeteile in die Server.JS Dateien (ersetzen 192.168.43.31 mit Ihrem Server IP).

## Hauptcode const http = required ('http'); const hostname = '192.168.43.31 '; const port = 3000; const server = http.createServer ((req, res) => res.Statuscode = 200; res.Setheader ('Inhaltstyp', 'Text/Plain'); res.Ende ('Dies ist die Haupt -App!\N'); ); Server.Hören Sie (Port, Hostname, () => Konsole.log ('Server, der unter http: // $ hostname: $ port/') ausgeführt wird; ); ## Adminside Code const http = required ('http'); const hostname = '192.168.43.31 '; const port = 3001; const server = http.createServer ((req, res) => res.Statuscode = 200; res.Setheader ('Inhaltstyp', 'Text/Plain'); res.Ende ('Dies ist die Administratorseite!\N'); ); Server.Hören Sie (Port, Hostname, () => Konsole.log ('Server, der unter http: // $ hostname: $ port/') ausgeführt wird; ); 

Speichern Sie die Datei und beenden Sie.

Schritt 3: Installieren Sie PM2 Product Process Manager unter Linux

3. Die neueste stabile Version von PM2 kann über installiert werden NPM wie gezeigt.

$ sudo npm i -g PM2 

4. Einmal PM2 Installiert können Sie Ihre Knotenanwendungen mithilfe der folgenden Befehle starten.

$ sudo node/var/www/html/app/server.JS $ sudo node/var/www/html/adminside/server.JS 

Beachten Sie, dass Sie in einer Produktionsumgebung sie verwenden sollten PM2, Wie gezeigt (benötigen Sie möglicherweise keinen sudo -Befehl, wenn Ihre App an einem Ort gespeichert ist, an dem ein normaler Benutzer Berechtigungen gelesen und geschrieben hat).

$ sudo pm2 start/var/www/html/app/server.JS $ sudo pm2 start/var/www/html/adminside/server.JS 
Starten Sie die NodeJS -App mit PM2

Schritt 4: So verwenden und verwalten Sie PM2 unter Linux

5. Um eine Anwendung im Cluster -Modus mit dem zu starten -ich Flag, um beispielsweise die Anzahl der Instanzen anzugeben.

$ sudo pm2 start/var/www/html/app/server.JS -i 4 $ sudo PM2 -Skala 0 8 #Skale Cluster App zu 8 Prozessen 

6. Führen Sie den folgenden Befehl aus, um alle Ihre Knotenanwendungen (Prozess/Microservices) aufzulisten.

$ sudo PM2 -Liste 
Listen Sie alle PM2 -verwalteten Knoten -Apps auf

7. Überwachung von Protokollen, benutzerdefinierten Metriken, Prozessinformationen aus allen Prozessen, indem Sie den folgenden Befehl ausführen.

$ sudo PM2 Monit 
Überwachen Sie alle Knotenprozesse

8. Um Details eines einzelnen Knotenprozesses wie gezeigt anzuzeigen, unter Verwendung der Prozess -ID oder des Namens.

$ sudo pm2 show 0 
Details der einzelnen App anzeigen

Schritt 5: So verwalten Sie Knoten -Apps mit PM2 unter Linux

9. Im Folgenden finden Sie eine Liste einiger gemeinsamer Prozessbefehle (einzelne oder aller) Verwaltungsbefehle, die Sie zur Kenntnis nehmen sollten.

$ sudo pm2 Stop alle #Stop Alle Apps $ sudo pm2 stop 0 #Stop Prozess mit id 0 $ sudo pm2 Neustart alle #restart Alle Apps $ sudo pm2 Reset 0 #Reset Alle Zähler $ sudo pm2 löschen alle #Kill und entfernen alle Apps $ entfernen $ $ entfernen sudo pm2 1 #kill löschen und App mit ID 1 löschen 

10. Verwenden Sie die folgenden Befehle, um Anwendungsprotokolle zu verwalten.

$ sudo PM2 -Protokolle #View -Protokolle für alle Prozesse $ sudo pm2 Protokolle 1 #View -Protokolle für App 1 $ sudo pm2 -Protokolle -JSON #View -Protokolle für alle Prozesse im JSON -Format $ sudo pm2 flush #flush alle Protokolls 

11. Verwenden Sie die folgenden Befehle, um den PM2 -Prozess zu verwalten.

$ sudo PM2 Startup #Enable PM2 startet am System Boot $ sudo PM2 Startup systemd #OR explizit angeben SYSTEMD als Startsystem $ sudo pm2 speichern #Save Aktuelle Prozessliste auf Neustart $ sudo pm2 unstartup #disable PM2 von dem System Start $ sudo $ sudo PM2 Update #Update PM2 -Paket 

Schritt 6: Zugriff auf Knoten -Apps vom Webbrowser aus

12. Um über einen Remote -Webbrowser auf alle Ihre Knotenanwendungen zuzugreifen.

-------- Debian und Ubuntu -------- $ sudo ufw erlauben 3000/tcp $ sudo ufw erlauben 3001/tcp $ sudo ufw reload -------- Rhel und Centos -------- # Firewall-CMD --permanent --add-Port = 3000/TCP # Firewall-CMD --Permanent --add-Port = 3001/TCP # Firewall-CMD--Reload 

13. Greifen Sie dann mit diesen URLs von einem Webbrowser über Ihre Apps aus:

http: // 198.168.43.31: 3000 http: // 198.168.43.31: 3001 
Zugriff auf Knoten -Apps aus dem Browser

Zu guter Letzt, PM2 ist ein einfaches, eingebautes Modulsystem, mit dem seine Kernfunktionen erweitert werden können. Einige der Module umfassen PM2-LOGROTAT, PM2-Webshell, PM2-Server-Monit und mehr-Sie können auch Ihre eigenen Module erstellen und verwenden.

Weitere Informationen finden Sie im PM2 Github Repository: https: // github.com/unitech/pm2/.

Das ist alles! PM2 ist ein fortschrittlicher und effizienter Prozessmanager auf Produktionsebene für Knoten.JS mit einem eingebauten Lastausgleicher. In diesem Artikel haben wir gezeigt, wie Sie PM2 installieren und verwenden, um NodeJS -Apps unter Linux zu verwalten. Wenn Sie Fragen haben, senden Sie sie über das folgende Kommentarformular an die Verwendung.