Mit der Popularität von Node.js auf der Serverseite beginnen immer mehr Unternehmen und Entwickler, Node.js zum Erstellen ihrer eigenen Anwendungen zu verwenden. Bei der Bereitstellung einer Node.js-Anwendung in einer Produktionsumgebung ist die Sicherstellung ihrer hohen Verfügbarkeit, Flexibilität und Skalierbarkeit sehr wichtig. In diesem Artikel erfahren Sie, wie Sie mit PM2 eine Node.js-Anwendung verpacken und bereitstellen, um deren Stabilität in einer Produktionsumgebung sicherzustellen.
1. Was ist PM2? PM2 ist ein Open-Source-Node.js-Prozessmanagement-Tool, das zur Verwaltung der Entwicklung, Verpackung und Bereitstellung von Node.js-Anwendungen verwendet werden kann. Es kann Ihre Programme überwachen und automatisch neu starten. Es kann auch Funktionen wie Lastausgleich und 0-Sekunden-Ausfallzeit-Upgrades unterstützen, wodurch Ihre Anwendungen in der Produktionsumgebung stabiler und zuverlässiger werden. Gleichzeitig integriert PM2 auch viele häufig verwendete Node.js-Tools und Plug-Ins, sodass Entwickler Anwendungen effizienter entwickeln können.
2. Installation und Konfiguration von PM2
Bevor wir PM2 verwenden, müssen wir es zuerst installieren. Wir können npm zum Installieren verwenden:
npm install pm2 -g
Nachdem die Installation abgeschlossen ist, können wir den Befehl pm2 verwenden, um die Anwendung zu starten und zu verwalten. Mit dem folgenden Befehl können wir die Version und den Status von PM2 anzeigen:
$ pm2 -v 2.10.4 $ pm2 status
In PM2 müssen wir Konfigurationsdateien verwenden, um unsere Anwendungen zu verwalten. Die Konfigurationsdatei ist eine JSON-formatierte Datei, die verschiedene Eigenschaften der Anwendung beschreibt. Eine einfachste Konfigurationsdatei sieht so aus:
{ "name": "my-application", "script": "app.js", "watch": true }
Diese Konfigurationsdatei definiert eine Anwendung namens my-application. Ihr Startskript ist app.js und startet die Anwendung automatisch neu, wenn die Datei geändert wird.
3. Grundlegende Verwendung von PM2
Bevor wir PM2 für die Entwicklung und Bereitstellung verwenden, müssen wir einige grundlegende Befehle verstehen:
Starten Sie die Anwendungpm2 start <app.js>
Unter Für sie ist app. js der Pfad zum Anwendungsstartskript. Wenn wir in der Konfigurationsdatei der Anwendung ein Startskript definiert haben, können wir den folgenden Befehl verwenden, um die Anwendung zu starten:
pm2 start <config.json>
pm2 stop <app_name>
Wobei: app_name ist unser Anwendungsname.
Starten Sie die Anwendung neupm2 restart <app_name>
wobei app_name der Name unserer Anwendung ist.
Anzeigen der Anwendungslistepm2 list
pm2 status
IV , Erweiterte Verwendung von PM2
Zusätzlich zur grundlegenden Verwendung bietet PM2 auch einige erweiterte Funktionen, mit denen wir Node.js-Anwendungen besser verwalten können:
Protokollverwaltungpm2 logs <app_name>
wobei app_name der Name der Anwendung ist.
Wir können auch den Befehl pm2 logrotate verwenden, um Protokolldateien zu verwalten, um zu vermeiden, dass Protokolle übermäßig viel Speicherplatz beanspruchen.
UmgebungsvariablenWir können Umgebungsvariablen in der Konfigurationsdatei der Anwendung festlegen:
{ "name": "my-application", "script": "app.js", "watch": true, "env": { "NODE_ENV": "production" } }
In der obigen Konfigurationsdatei legen wir eine Umgebungsvariable namens NODE_ENV fest, deren Wert Produktion ist. In der Anwendung können wir den Wert dieser Variablen über process.env.NODE_ENV abrufen.
Cluster-Moduspm2 start <config.json> -i
Wobei „number_of_instances“ die Anzahl der Instanzen ist, die wir starten müssen.
PM2 unterstützt außerdem den Standard-Lastausgleich und ein 0-Sekunden-Ausfallzeit-Upgrade, wodurch wir mehrere Instanzen bequemer verwalten können.
5. Fazit
In diesem Artikel haben wir die Funktion und Installationsmethode des PM2-Tools vorgestellt und die grundlegende Verwendung und erweiterte Funktionen von PM2 vorgestellt. Durch den Einsatz von PM2 können wir Node.js-Anwendungen besser verwalten und sie in Produktionsumgebungen effizienter und stabiler machen.
Das obige ist der detaillierte Inhalt vonVerpackung und Bereitstellung von nodejs pm2. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!