Notizen
PM2 (Process Manager 2) ist ein leistungsstarker Prozessmanager für Node.js, der die einfache Verwaltung von Servern ermöglicht und deren automatischen Neustart, Überwachung und Lastenverwaltung sicherstellt.
PM2 ermöglicht es, Anwendungen im Hintergrund auszuführen, ihren Lebenszyklus zu verwalten und bietet hohe Verfügbarkeit und Skalierbarkeit.
ecosystem.config.js ist die Konfigurationsdatei von PM2, die es ermöglicht, die Startparameter von Anwendungen, deren Umgebung und weitere Einstellungen zu beschreiben. Sie sollte im Wurzelverzeichnis des Projekts abgelegt werden.
Beispiel einer Datei
module.exports = {
apps: [
{
name: "webpack-dev-server",
cwd: "/Volumes/SSD/projects/yvelious_github_io", // ← Pfad zum Projekt auf der Remote-Maschine
script: "npm",
args: "run server",
env: {
NODE_ENV: "server",
},
watch: false, // watch ist bereits in der webpack-Konfiguration aktiviert
},
],
};Was bringt PM2
Es kann im Hintergrund arbeiten, was es ermöglicht, Server und Anwendungen im Hintergrund auszuführen, selbst nach dem Schließen des Terminals. PM2 sorgt dafür, dass Anwendungen im Falle eines Absturzes automatisch neu gestartet werden, was die Zuverlässigkeit der Server erhöht. Man kann es so einstellen, dass es beim Systemstart gestartet wird, was es ermöglicht, Anwendungen nach einem Neustart des Servers automatisch zu starten. Über die Kommandozeile kann man Prozesse verwalten, Informationen über den Zustand der Anwendungen abrufen, Protokolle einsehen und weitere Operationen durchführen, wie den Neustart oder das Stoppen von Anwendungen.
pm2 logs— Protokolle des Servers anzeigen.pm2 monit— Überwachung des Serverzustands.pm2 restart yvelious-dev-server— manuelles Neustarten.pm2 start yvelious-dev-server— startenpm2 stop yvelious-dev-server— stoppenpm2 delete yvelious-dev-server— löschenpm2 save && pm2 startup— Autostart beim Systemstart.