Schnelle Zusammenfassung: Node.js auf Windows Server in 5 Schritten installieren
Die zuverlässigste Methode in der Produktion: nvm-windows.
# 1. nvm-setup.exe von GitHub herunterladen und ausführen
# 2. Installation überprüfen
nvm version
# 3. LTS-Version installieren
nvm install lts
# 4. Installierte Version aktivieren (z. B. 24.16.0)
nvm use 24.16.0
# 5. Node.js und npm überprüfen
node -v && npm -v
Danach Ihre App mit PM2 bereitstellen, damit sie die Serverneustarts übersteht.
Voraussetzungen
Stellen Sie vor dem Start sicher, dass Sie Folgendes haben:
Windows Server 2019 oder 2022 mit Administratorzugang
Aktive RDP-Verbindung
Mindestens 1 GB RAM (2 GB empfohlen für die Produktion)
Offene Ports: 3000 (Entwicklung), 80/443 (Produktion)
PowerShell 5.1+: standardmäßig in Windows Server 2019/2022 enthalten
Welche Installationsmethode wählen?
Es gibt drei Optionen, um Node.js auf Windows Server zu installieren. Hier ist der Vergleich:
Methode | Anwendungsfall | Vorteile | Nachteile |
|---|---|---|---|
nvm-windows | Entwickler, Multi-Projekt-Produktion | Multi-Versionen-Management, schneller Wechsel | Leicht längere Installation |
MSI-Installer | Einzelversion, schneller Start | Einfach, vertraut | Schwierig, die Version zu wechseln |
winget | Modernes Windows Server 2022 | Natives CLI, schnell | Weniger Kontrolle über die Versionen |
Empfehlung: nvm-windows. Auf einem Windows VPS in der Produktion werden Sie früher oder später zwischen Node 20 LTS und Node 22 wechseln müssen. Es ist besser, dies von Anfang an einzuplanen.
Methode 1: Node.js mit nvm-windows installieren (empfohlen)
nvm-windows ist der Node.js-Versionen-Manager für Windows. Es ist ein separates Projekt von nvm (das nur auf Linux/macOS funktioniert).
Schritt 1: nvm-windows herunterladen
Gehen Sie zur GitHub-Release-Seite: 👉 https://github.com/coreybutler/nvm-windows/releases
Laden Sie nvm-setup.exe (neueste stabile Version, derzeit v1.2.x) herunter.
Schritt 2: Installer starten
Führen Sie nvm-setup.exe als Administrator aus. Behalten Sie die Standardinstallationspfade bei.
Schritt 3: Installation überprüfen
Öffnen Sie ein neues PowerShell-Terminal (wichtig: schließen Sie das alte):
nvm version
Erwartetes Ergebnis: 1.2.x oder höher.
Schritt 4: Node.js LTS installieren
nvm install lts
Dieser Befehl lädt automatisch die neueste LTS-Version herunter (derzeit 24.16.0).
Schritt 5: Version aktivieren
nvm use 24.16.0
Ersetzen Sie
24.16.0durch die Version, die nachnvm install ltsangezeigt wird.
Schritt 6: Node.js und npm überprüfen
node -v && npm -v
Erwartetes Ergebnis:
v24.16.0
10.x.x
Schritt 7: Mehrere Versionen installieren und verwalten
# Node 20 LTS und Node 22 installieren
nvm install 20.19.0
nvm install 22.14.0
# Auf Node 22 umschalten
nvm use 22.14.0
# Alle installierten Versionen auflisten
nvm list
Methode 2: Node.js mit dem MSI-Installer installieren
Direkteste Methode für eine Einzelversion. Ideal, wenn Sie nur ein Projekt haben und nicht planen, die Version zu wechseln.
Schritte
Gehen Sie zu https://nodejs.org/en/download
Laden Sie den Windows Installer (.msi) herunter: Wählen Sie die LTS-Version
Starten Sie den Installer und aktivieren Sie "Add to PATH" während der Installation
Überprüfen Sie in PowerShell:
node -v && npm -v
Hauptnachteil: Um die Version zu wechseln, müssen Sie manuell deinstallieren und dann neu installieren. Unpraktisch in der Produktion.
Methode 3: Node.js mit winget installieren
Verfügbar auf Windows Server 2022 mit installiertem App Installer. Ein einziger Befehl genügt:
winget install OpenJS.NodeJS.LTS
Überprüfung:
node -v
Hinweis: winget installiert eine feste Version. Um die Version zu wechseln, verwenden Sie winget upgrade oder wechseln Sie zu nvm-windows.
Eine Node.js-Anwendung auf Windows Server bereitstellen
Wir werden eine minimalistische Express.js-App erstellen, um die Installation von Ende zu Ende zu validieren.
Schritt 1: Projektordner erstellen
mkdir C:\apps\monapp
cd C:\apps\monapp
Schritt 2: npm initialisieren
npm init -y
Schritt 3: Express installieren
npm install express
Schritt 4: Die Datei server.js erstellen
New-Item server.js
notepad server.js
Fügen Sie diesen Code in Notepad ein:
const express = require('express');
const app = express();
const PORT = 3000;
app.get('/', (req, res) => {
res.send('Hallo von OuiHeberg VPS!');
});
app.listen(PORT, () => {
console.log(`Server läuft auf Port ${PORT}`);
});
Speichern Sie und schließen Sie Notepad.
Schritt 5: Die Anwendung testen
node server.js
Öffnen Sie einen Browser auf Ihrem VPS und gehen Sie zu http://localhost:3000. Sie sollten sehen:
Hallo von OuiHeberg VPS!
Drücken Sie Ctrl+C, um den Server zu stoppen. Lassen Sie uns jetzt zu PM2 übergehen, um ihn online zu halten.
Node.js mit PM2 online halten
Das ist der Teil, den die meisten Anleitungen vergessen. Ohne PM2 stoppt Ihre App, sobald Sie PowerShell schließen oder der Server neu startet.
Schritt 1: PM2 installieren
npm install -g pm2
Schritt 2: Die Anwendung mit PM2 starten
pm2 start C:\apps\monapp\server.js --name "monapp"
Schritt 3: Automatischen Start konfigurieren
pm2 startup
PM2 generiert einen Befehl zum Kopieren und Ausführen. Führen Sie ihn aus. Dann speichern Sie den aktuellen Zustand:
pm2 save
Von nun an wird Ihre App nach jedem Neustart des VPS automatisch neu gestartet.
Wichtige PM2-Befehle
Befehl | Aktion |
|---|---|
| Alle Prozesse auflisten |
| Logs in Echtzeit anzeigen |
| Die Anwendung neu starten |
| Die Anwendung stoppen |
| Echtzeitüberwachung (CPU, RAM) |
| Prozess von PM2 löschen |
PM2 ist kostenlos und Open Source (MIT-Lizenz). Es ist der De-facto-Standard für das Prozessmanagement von Node.js in der Produktion.
Die Windows-Firewall für Node.js konfigurieren
Ohne diesen Schritt ist Ihre App von außen nicht zugänglich. Öffnen Sie PowerShell als Administrator:
# Port 3000 (Entwicklung) öffnen
New-NetFirewallRule -DisplayName "Node.js Dev" -Direction Inbound -Protocol TCP -LocalPort 3000 -Action Allow
# Port 80 (Produktion HTTP) öffnen
New-NetFirewallRule -DisplayName "Node.js HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
# Port 443 (Produktion HTTPS) öffnen
New-NetFirewallRule -DisplayName "Node.js HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
Überprüfen Sie, ob die Regeln aktiv sind:
Get-NetFirewallRule -DisplayName "Node.js*" | Select Name, Enabled
Erwartetes Ergebnis: Enabled = True für jede Regel.
Mehrere Node.js-Versionen mit nvm-windows verwalten
Das ist einer der großen Vorteile von nvm-windows: Testen Sie Ihre App auf Node 20 LTS, bevor Sie auf Node 22 migrieren, ohne etwas zu deinstallieren.
# Installierte Versionen auflisten
nvm list
# Eine spezifische Version installieren
nvm install 20.19.0
# Zu dieser Version wechseln
nvm use 20.19.0
# Eine veraltete Version deinstallieren
nvm uninstall 18.20.0
Typischer Anwendungsfall: Ihre App läuft in der Produktion auf Node 20. Sie installieren Node 22 mit nvm install 22.14.0, testen mit nvm use 22.14.0, und wenn alles gut läuft, aktualisieren Sie die Produktion.
Node.js auf Windows Server aktualisieren
Mit nvm-windows ist das Update sauber und rückgängig zu machen:
# Neue LTS-Version installieren
nvm install lts
# Neue Version aktivieren (z. B. 24.16.0)
nvm use 24.16.0
# Alte Version löschen, wenn alles funktioniert
nvm uninstall 22.14.0
Wichtig: Testen Sie immer die Kompatibilität Ihrer Anwendung, bevor Sie in die Produktion wechseln. Einige npm-Pakete können Abhängigkeiten haben, die an eine Hauptversion von Node gebunden sind.
Fehlerbehebung: 6 häufige Fehler
1. 'node' wird nicht als Befehl erkannt
Der PATH ist nicht konfiguriert. Schließen Sie PowerShell und öffnen Sie sie erneut, und führen Sie dann nvm use [version] erneut aus.
2. nvm is not recognized
nvm-windows ist nicht korrekt installiert. Installieren Sie nvm-setup.exe als Administrator neu.
3. EACCES: Berechtigung verweigert bei einem npm install -g
Starten Sie PowerShell als Administrator, bevor Sie den Befehl ausführen.
4. Port 3000 bereits in Verwendung
Ein Prozess belegt bereits den Port. Identifizieren Sie ihn und stoppen Sie ihn:
netstat -ano | findstr :3000
taskkill /PID [PID] /F
Ersetzen Sie [PID] durch die angezeigte Prozessnummer.
5. PM2 startet nach einem Neustart nicht
Der von pm2 startup generierte Befehl wurde nicht ausgeführt. Führen Sie pm2 startup erneut aus, kopieren Sie den angezeigten Befehl und führen Sie dann pm2 save aus.
6. node_modules fehlen nach einem nvm-Versionwechsel
Normal: Jede Node-Version hat ihre eigenen globalen Module. Führen Sie nach jedem nvm use npm install im Projektordner erneut aus.
FAQ
Welche Version von Node.js auf Windows Server installieren?
Immer die LTS (Long Term Support)-Version. Sie erhält Sicherheitsupdates für 3 Jahre und ist für Stabilität in der Produktion ausgelegt. Im Mai 2026 ist die aktive LTS-Version Node.js 24.x.
Funktioniert Node.js auf Windows Server 2019 und 2022?
Ja, beide werden vollständig unterstützt. Node.js veröffentlicht native Windows-Binärdateien für jede LTS-Version. nvm-windows funktioniert auf beiden.
Was ist der Unterschied zwischen nvm-windows und nvm?
nvm (nvm-sh) ist nur für Linux und macOS konzipiert: es funktioniert nicht auf Windows. nvm-windows ist ein separates Projekt, das von Corey Butler entwickelt wurde und die gleiche Rolle auf Windows erfüllt.
Wie sehe ich, welche Version von Node.js aktiv ist?
node -v
# oder
nvm list
Die aktive Version ist in nvm list mit einem Sternchen * gekennzeichnet.
Ist PM2 kostenlos?
Ja. PM2 Runtime ist Open Source unter der MIT-Lizenz. Es gibt eine kostenpflichtige Version (PM2 Plus) für erweitertes Monitoring, aber sie ist für die meisten Projekte nicht erforderlich.
Kann man mehrere Node.js-Apps auf demselben VPS betreiben?
Ja, mit PM2: Jede App hört auf einem anderen Port (3000, 3001, 3002…). Um all dies auf Port 80/443 bereitzustellen, verwenden Sie einen Reverse-Proxy wie Nginx oder IIS im Frontend.
