Wie man Node.js und Pm2 unter Ubuntu installiert
Node.js ist eine beliebte JavaScript-Laufzeitumgebung, mit der Sie serverseitiges JavaScript ausführen können. PM2 ist ein Prozessmanager für Node.js, der Ihnen hilft, Ihre Anwendungen zu verwalten, um sicherzustellen, dass sie reibungslos laufen, bei Abstürzen automatisch neu gestartet werden und eine einfache Verwaltung mehrerer Anwendungen ermöglichen. Diese Anleitung führt Sie durch die Installation von Node.js und PM2 auf einem Ubuntu-System.
Voraussetzungen
- Ubuntu-Version: Diese Anleitung funktioniert mit Ubuntu 20.04, 22.04 oder neuer.
- Benutzerberechtigungen: Sie benötigen sudo- oder root-Rechte, um Software auf Ihrem Server zu installieren und zu konfigurieren.
Schritt 1: Systempakete aktualisieren
Bevor Sie beginnen, stellen Sie sicher, dass Ihre Systempakete auf dem neuesten Stand sind:
sudo apt update
sudo apt upgrade -y
Schritt 2: Node.js installieren
Es gibt mehrere Möglichkeiten, Node.js unter Ubuntu zu installieren. Die am meisten empfohlenen Methoden sind NodeSource oder nvm (Node Version Manager).
Methode 1: Node.js mit NodeSource installieren
- Fügen Sie das NodeSource-Repository hinzu: Um die neueste LTS-Version (Long-Term Support) von Node.js zu installieren, verwenden Sie die folgenden Befehle:
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
Dieses Skript wird das NodeSource-Repository zu Ihrem System hinzufügen und die Paketliste aktualisieren.
- Installieren Sie Node.js:
sudo apt install nodejs -y
Mit diesem Befehl werden sowohl Node.js als auch
(Node Package Manager) installiert.npm
- Überprüfen Sie die Installation: Überprüfen Sie, ob Node.js und npm korrekt installiert wurden, indem Sie den Befehl ausführen:
node -v
npm -v
Diese Befehle sollten die Versionsnummern von Node.js und npm ausgeben.
Methode 2: Node.js mit NVM installieren
Mit nvm können Sie mehrere Versionen von Node.js auf demselben Rechner verwalten.
- NVM installieren: Laden Sie nvm herunter und installieren Sie es mit dem Installationsskript:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
(Hinweis: Ersetzen Sie
durch die neueste Version, falls erforderlich).v0.39.5
- Laden Sie die Shell-Konfiguration neu: Nach der Installation von nvm müssen Sie Ihre Shell-Konfiguration neu laden:
source ~/.bashrc
- Node.js mit NVM installieren:Um die neueste LTS-Version von Node.js zu installieren:
nvm install --lts
- Überprüfen Sie die Installation von Node.js und npm:
node -v
npm -v
Schritt 3: PM2 installieren
PM2 ist ein Node.js-Prozessmanager, mit dem Sie Ihre Node.js-Anwendungen einfach verwalten können.
- PM2 global installieren: Verwenden Sie npm, um PM2 global zu installieren:
sudo npm install -g pm2
- Überprüfen Sie die PM2-Installation: Überprüfen Sie, ob PM2 korrekt installiert wurde, indem Sie es ausführen:
pm2 -v
Dieser Befehl sollte die Versionsnummer von PM2 ausgeben.
Schritt 4: Verwendung von PM2 zur Verwaltung von Node.js-Anwendungen
Sobald PM2 installiert ist, können Sie es verwenden, um Ihre Node.js-Anwendungen auszuführen und zu verwalten.
- Starten Sie eine Node.js-Anwendung: Navigieren Sie zum Verzeichnis Ihrer Node.js-Anwendung und verwenden Sie PM2, um sie zu starten:
pm2 start app.js
Ersetzen Sie
durch den Einstiegspunkt Ihrer Anwendung.app.js
- Laufende Prozesse anzeigen:Um alle von PM2 verwalteten Prozesse zu sehen, führen Sie aus:
pm2 list
Dadurch wird eine Liste aller laufenden Anwendungen mit ihrem Status und anderen Details angezeigt.
- Anwendungen neu starten, anhalten und löschen:
- Eine Anwendung neu starten:
pm2 app neu starten
- Eine Anwendung anhalten:
pm2 stop app
- Eine Anwendung löschen:
pm2 app löschen
Ersetzen Sie
durch den Namen oder die ID Ihrer Anwendung.app
- Eine Anwendung neu starten:
- Logs überwachen: Um die Logs aller Ihrer PM2-Anwendungen zu sehen, verwenden Sie:
pm2 logs
Um Protokolle für eine bestimmte Anwendung zu sehen:
pm2 logs app
Schritt 5: Konfigurieren Sie PM2 so, dass es beim Booten startet
Um sicherzustellen, dass PM2 bei jedem Neustart Ihres Servers automatisch gestartet wird, verwenden Sie den folgenden Befehl:
pm2 startup
Dieser Befehl zeigt einen Befehl an, den Sie mit sudo ausführen müssen, um das Startskript einzurichten. Kopieren Sie diesen Befehl und fügen Sie ihn in Ihr Terminal ein.
Nachdem Sie den Befehl ausgeführt haben, speichern Sie die aktuelle Prozessliste, um sicherzustellen, dass Ihre Anwendungen beim Neustart gestartet werden:
pm2 speichern
Dies speichert die Liste der Anwendungen, die derzeit von PM2 verwaltet werden, und startet sie automatisch neu, wenn der Server neu gestartet wird.
Schritt 6: Bereitstellen von Anwendungen mit PM2
PM2 kann auch für Zero-Downtime-Deployments verwendet werden, indem man eine Funktion namens Ecosystem-Dateien nutzt. Hier erfahren Sie, wie Sie eine einfache ecosystem.config.js-Datei einrichten:
- Erstellen Sie die Ecosystem-Datei:
pm2 ecosystem
Dies erzeugt eine Datei namens ecosystem.config.js mit einer Grundkonfiguration.
- Bearbeiten Sie die Ecosystem-Datei: Öffnen Sie die Datei ecosystem.config.js und konfigurieren Sie sie mit den Details Ihrer Anwendung:
module.exports = {
apps: [
{
name: 'meine-anwendung',
script: 'app.js',
instances: 2,
exec_mode: 'cluster',
env: {
NODE_ENV: 'development'
},
env_production: {
NODE_ENV: 'production'
}
}
]
};
In diesem Beispiel wird Ihre Anwendung in einem Cluster mit 2 Instanzen ausgeführt, der die Vorteile von Mehrkernprozessoren nutzen kann.
- Starten von Anwendungen mit der Ecosystem-Datei: So starten Sie Ihre Anwendungen mit der Ecosystem-Datei:
pm2 start ecosystem.config.js --env production
Schritt 7: Aktualisierung von Node.js und PM2
Um Node.js zu aktualisieren, verwenden Sie nvm, wenn Sie es mit dieser Methode installiert haben, oder führen Sie das NodeSource-Setup-Skript erneut aus, wenn Sie diese Methode verwendet haben.
Um PM2 zu aktualisieren:
sudo npm install -g pm2@latest
pm2 aktualisieren
Fazit
Sie haben nun Node.js und PM2 erfolgreich auf Ubuntu installiert und gelernt, wie Sie PM2 zur Verwaltung Ihrer Node.js-Anwendungen einsetzen können. PM2 vereinfacht die Prozessverwaltung, indem es Ihre Anwendungen automatisch neu startet, wenn sie abstürzen, und die Bereitstellung erleichtert. Mit dieser Einrichtung können Sie sicherstellen, dass Ihre Node.js-Anwendungen reibungslos laufen und für die Produktion bereit sind. Viel Spaß beim Programmieren!