Ausführen von Node.js-Projekten in der Produktion mit PM2: Panel-Leitfaden
Um Ihre Node.js- und Express-Projekte auf VPS in Produktion zu bringen, legen Sie im Panel die Einstellungen für PM2-Clustermodus, automatischen Neustart, Speicherlimit und Protokollrotation fest.
#node.js
#pm2
#deploy
#express
#nestjs
VDS Panel Ekibi
Ürünü geliştiren ekip
~8 dk
okuma
Einsatz
kategori
Node.js ist eine Laufzeitumgebung, die mit einer Ereignisschleife in einem einzelnen Thread arbeitet. Diese Architektur bietet eine enorme Leistung für API-Server, weist jedoch zwei Einschränkungen auf: Bei einem Absturz bricht der Prozess ab und es können nicht so viele CPU-Kerne parallel ausgeführt werden. PM2 ist ein Prozessmanager, der diese beiden Grenzen überwinden soll. Es ist eines der führenden Tools für die Bereitstellung von Production Node.js.
In diesem Leitfaden erklären wir, was PM2 in der Produktion macht, welche Einstellungen Ihnen wichtig sind und warum und wie Sie diese Einstellungen über die Schnittstelle mit VDS Panel verwalten können.
Bir bakışta
99.9%
Betriebszeitziel
4-8×
Durchsatz mit Cluster
<1Sek
automatischer Neustart
0
Nachladen der Ausfallzeit
Was macht PM2?
PM2 „dämonisiert“ Ihre Node.js-Prozesse. Also:
Startet den Prozess neu, wenn er abstürzt
Öffnet mehr als einen Prozess und verteilt die Last (Cluster-Modus)
Schreibt die Protokolle in die Datei und rotiert sie
Verwaltet den unterbrechungsfreien Datenverkehr zwischen Neustarts
Überwacht Speicher/CPU und startet Prozesse neu, die die Grenzwerte überschreiten
Es ist auch möglich, Node.js mit systemd auszuführen, Sie müssen jedoch die oben genannten Funktionen einzeln installieren.
Warum ist der Cluster-Modus wichtig?
Node.js führt standardmäßig einen einzelnen Thread aus. Wenn Sie einen Knotenprozess auf einem VPS mit 4 Kernen ausführen, bleiben 75 % Ihrer CPU-Kapazität im Leerlauf. Der PM2-Clustermodus öffnet so viele Workerprozesse wie CPU-Kerne vorhanden sind und verteilt die Last auf diese:
P0
4-8×
mehr Durchsatz
Clustermodus im Vergleich zum Einzelinstanzmodus auf 4-Core-VPS.
Klassische Installation vs. über Panel
Klassisch
Manuelles PM2 mit Terminal
npm install pm2 -g (globale Installation)
Schreiben Sie „ecosystem.config.js“.
Lernen Sie die Befehle zum Starten/Stoppen/Neuladen von pm2
Protokollverfolgung mit PM2-Protokollen
Beginnend beim Booten mit PM2 Save + PM2 Startup
SSH + manuelles Neuladen für Update
Schnittstelle
mit VDS-Panel
Projekt hinzufügen, Node.js auswählen
Legen Sie die Anzahl der Cluster-Instanzen mit dem Schieberegler fest
Git-Push → automatisches Neuladen ohne Ausfallzeit
Schritt-für-Schritt-Installation mit Panel
01
Fügen Sie das Node.js-Projekt hinzu
Verknüpfen oder komprimieren Sie das GitHub-Repository. Das Panel erkennt package.json und verwendet „scripts.start“ oder den von Ihnen angegebenen Einstiegspunkt.
02
Cluster einrichten
Schieberegler für die Anzahl der Instanzen: 1 (Fork-Modus) zur Anzahl der CPUs Ihres VPS. Für die meisten APIs sind 2–4 ideal.
03
Speicherlimit festlegen
Wie 256 MB, 512 MB, 1 GB. Der Worker, der diesen Grenzwert überschreitet, wird automatisch neu gestartet. Speicherverlust wird toleriert, die App funktioniert weiterhin.
04
Geben Sie Umgebungsvariablen ein
NODE_ENV=Produktion, DATABASE_URL, API-Schlüssel. Es wird nicht in Git geschrieben, sondern im geheimen Tresor des Panels gespeichert und zur Laufzeit eingefügt.
05
Domäne verbinden
Benutzerdefinierter Domainname oder Subdomain. Das Panel ruft automatisch das Let's Encrypt-Zertifikat ab und leitet den Nginx-Reverse-Proxy an Ihren 3000-Port weiter.
06
Drücken Sie auf „Bereitstellen“.
Ihre App ist in ca. 90 Sekunden live. Wenn Sie einen Git-Push ausführen, wird ein Neuladen ohne Ausfallzeit ausgelöst.
Neuladen ohne Ausfallzeit
Eine der leistungsstärksten Funktionen von PM2 ist Graceful Reload. Wenn Sie neuen Code bereitstellen:
PM2 startet neue Arbeiter
Neue Mitarbeiter beginnen zuzuhören
Wartet darauf, dass alte Mitarbeiter ihre aktuellen Anforderungen abschließen (ordnungsgemäßes Herunterfahren)
Alte Arbeiter schließen
Der Benutzer spürt keine Unterbrechung. VDS Panel führt jede Bereitstellung mit dieser Strategie durch.
Anmutiges Abschaltsignal
Wenn Ihre Node.js-Anwendung beim Herunterfahren von PM2 auf das SIGINT- oder SIGTERM-Signal wartet, gibt sie Ihrer Anwendung 10 Sekunden Zeit, um Reinigungsaufgaben wie das Schließen offener DB-Verbindungen und das Leeren des Caches durchzuführen. Das Panel legt diese Zeit standardmäßig fest.
Abwehr von Speicherlecks
Speicherlecks bei Node.js kommen häufig vor; vor allem, wenn der Event-Listener vergessen wird und der globale Cache wächst. Die P0-Einstellung von PM2 bietet die Lösung:
P1
In der Panel-Oberfläche ist dieser Wert ein Schieberegler. Wenn Sie 512 MB angegeben haben, startet PM2 einen Worker automatisch neu, wenn er 512 MB überschreitet. Andere Arbeiter kümmern sich weiterhin um den Verkehr.
DEV-Abhängigkeiten in der Produktion
Es wird mit Panel P0 installiert, Entwicklungsabhängigkeiten werden nicht installiert. Wenn Sie zur Laufzeit ein Paket in P1 importieren, schlägt der Produktionsbuild fehl. Diese Fehler werden im Panel-Erstellungsprotokoll angezeigt.
Protokollverwaltung
PM2 schreibt P0 und P1 für jeden Arbeiter. Mit der Zeit werden diese Dateien voll. Das Panel aktiviert automatisch die Protokollrotation:
Drehen, wenn die Dateigröße 100 MB erreicht
5 alte Dateien bleiben erhalten
Protokolle werden live von der Panel-Benutzeroberfläche gestreamt (ohne ein Terminal zu öffnen)
Überwachung und Warnungen
Für jeden PM2-Prozess führt das Gremium Folgendes durch:
CPU- und Speicherdiagrammflüsse live
Anzahl der Neustarts wird überwacht (zu viele Neustarts = Fehlersignal)
Reaktionszeit-Telemetrie (wenn Express-Status-Monitor oder ähnliches hinzugefügt wird)
Automatischer Start des cpulimit-Daemons, wenn das CPU-Limit überschritten wird (Schutz benachbarter Projekte)
Node.js-Frameworks
VDS Panel wurde mit den folgenden Frameworks getestet und erkennt diese automatisch:
Express, üblich, schnell, einfach
NestJS, für Unternehmen geeignet, auf TypeScript ausgerichtet
Das Panel liest Ihren P0, erkennt das richtige Framework und wählt das entsprechende Startskript aus.
Abschluss
PM2 ist ein Muss für die Node.js-Produktion. Cluster-Modus, automatischer Neustart, Speicherlimit, Protokollrotation, Neuladen ohne Ausfallzeiten – alles in einem einzigen Daemon. Mit VDS Panel können Sie diese Einstellungen über die Schnittstelle verwalten, ohne sich den Terminalbefehl merken zu müssen.
Um Ihr Node.js-Projekt live zu schalten, können Sie die Panel-Einrichtung in 8 Minuten abschließen und Ihr erstes Projekt sehen, indem Sie über unser Kontaktformular eine Demo anfordern.
Möchten Sie es auf Ihrem eigenen Server ausprobieren?
Kontaktieren Sie uns über das Kontaktformular und lassen Sie uns einen Lizenz- und Installationsplan erstellen, der für Ihr Nutzungsszenario geeignet ist.
Moderne Bereitstellungserfahrung auf Ihrem eigenen Server, nur eine Kommunikationsnachricht entfernt.
Lassen Sie uns Ihr Nutzungsszenario verstehen und den entsprechenden Lizenz- und Installationsplan für Sie erstellen. Unsere durchschnittliche Reaktionszeit liegt unter 24 Stunden.