Wie man React.js auf einem Windows VPS installiert: Vollständige Einrichtungsanleitung
React.js ist eine Open-Source-JavaScript-Bibliothek, die von Meta (ehemals Facebook) für die Entwicklung komponentenbasierter Benutzeroberflächen gepflegt wird, insbesondere für Single-Page Applications (SPAs), die das DOM dynamisch ohne vollständige Seitenneuladen aktualisieren. Die Installation von React auf einem Windows VPS – anstatt auf einer lokalen Workstation – bietet Ihnen eine persistente, remote zugängliche Entwicklungsumgebung mit dedizierten Ressourcen, was sie ideal für die Teamzusammenarbeit, CI/CD-Pipelines und Staging-Deployments macht.
Diese Anleitung führt Sie durch jeden Schritt einer produktionsreifen React.js-Installation auf einem Windows VPS: von der Node.js-Laufzeitkonfiguration und dem Umgebungsvariablen-Management bis hin zum Projekt-Scaffolding, dem Betrieb des Entwicklungsservers und der Produktions-Build-Ausgabe. Sie behandelt auch nicht offensichtliche Fehlermodi, über die Entwickler stolpern, die oberflächlichen Tutorials folgen.
Warum React auf einem Windows VPS statt auf Localhost installieren
Das Ausführen Ihrer React-Entwicklungsumgebung auf einer VPS Hosting-Instanz anstatt auf einem lokalen Rechner löst mehrere reale Probleme:
- Persistente Betriebszeit: Der Entwicklungsserver bleibt auch dann aktiv, wenn Ihr lokaler Rechner ausgeschaltet ist, sodass Remote-Teammitglieder oder QA-Tester jederzeit auf eine Live-Vorschau-URL zugreifen können.
- Konsistente Umgebung: Jeder Entwickler verbindet sich mit demselben Betriebssystem, derselben Node-Version und demselben Abhängigkeitsbaum, was „funktioniert auf meinem Rechner”-Fehler eliminiert.
- Ressourcenisolierung: CPU-intensive Builds (
npm run build, große Webpack-Kompilierungen) beeinträchtigen Ihre lokale Workstation nicht. - Staging-Parität: Ein Windows VPS spiegelt die Ziel-Deployment-Umgebung wider, wenn Ihr Produktions-Stack ebenfalls auf Windows Server basiert (IIS, ASP.NET-Hybridarchitekturen).
- Remote-Zugänglichkeit: Sie können den Entwicklungsserver auf einem bestimmten Port verfügbar machen und von jedem Browser aus überall darauf zugreifen.
Wenn Ihre Arbeitslast schließlich auf die Bereitstellung kompilierter React-Assets neben einer Node.js-API skaliert, sollten Sie den Wechsel zu einer Dedicated Servers-Umgebung in Betracht ziehen, um garantierten I/O-Durchsatz und keine Noisy-Neighbor-Effekte zu gewährleisten.
Voraussetzungen
Stellen Sie vor dem Start sicher, dass Folgendes auf Ihrem Windows VPS vorhanden ist:
- Windows Server 2016 / 2019 / 2022 oder Windows 10/11 (64-Bit)
- Administrator- oder erhöhter Benutzerzugriff über RDP
- Ausgehender Internetzugang auf dem VPS (zum Herunterladen von Installationsprogrammen und npm-Paketen)
- Mindestens 2 GB RAM — Webpacks In-Memory-Kompilierung ist speicherhungrig; 4 GB werden für Projekte mit mehr als einer Handvoll Abhängigkeiten empfohlen
- Ein Texteditor oder eine IDE — Visual Studio Code ist der De-facto-Standard für die React-Entwicklung
Schritt 1: Node.js auf Windows installieren
1.1 Das LTS-Release herunterladen
React erfordert nicht die absolut neueste Node.js-Version. Der LTS (Long Term Support)-Kanal ist die richtige Wahl für jede Umgebung, in der Stabilität wichtig ist.
- Öffnen Sie einen Browser auf Ihrem VPS (oder laden Sie es remote herunter und übertragen Sie es über die RDP-Zwischenablage).
- Navigieren Sie zu https://nodejs.org.
- Laden Sie den Windows Installer (.msi) für die aktuelle LTS-Version herunter (z. B. 20.x oder 22.x).
Wichtiger Hinweis: Laden Sie immer den 64-Bit-.msi-Installer herunter, nicht das .zip-Archiv. Der .msi übernimmt die PATH-Registrierung, die Service-Integration und die Visual C++ Redistributable-Abhängigkeit automatisch. Das .zip-Archiv erfordert eine manuelle PATH-Konfiguration und ist eine häufige Ursache für npm-Fehler, bei denen der Befehl nicht erkannt wird.
1.2 Den Installer ausführen
Führen Sie die heruntergeladene .msi-Datei aus und folgen Sie dem Assistenten:
- Akzeptieren Sie die Lizenzvereinbarung.
- Lassen Sie den Zielpfad als Standard (
C:Program Filesnodejs), es sei denn, Sie haben einen bestimmten Grund, ihn zu ändern. - Stellen Sie auf dem Bildschirm Benutzerdefiniertes Setup sicher, dass alle folgenden Komponenten ausgewählt sind:
- Node.js-Laufzeit
- npm-Paketmanager
- Zu PATH hinzufügen (dies ist das wichtigste Kontrollkästchen — wenn es nicht aktiviert ist, erkennt kein Terminal
nodeodernpm) - Online-Dokumentationsverknüpfungen (optional)
- Aktivieren Sie auf dem Bildschirm Tools für native Module die Option „Notwendige Tools automatisch installieren”, wenn Sie npm-Pakete verwenden möchten, die eine native Kompilierung erfordern (node-gyp, bcrypt, sharp usw.). Dadurch werden Chocolatey, Python und die Visual Studio Build Tools im Hintergrund installiert.
- Schließen Sie die Installation ab und starten Sie die Terminalsitzung neu (oder die gesamte RDP-Sitzung, wenn PATH-Änderungen nicht sofort übernommen werden).
1.3 Die Installation überprüfen
Öffnen Sie ein neues PowerShell– oder Eingabeaufforderungs-Fenster (nicht eines, das vor der Installation geöffnet war — es wird nicht den aktualisierten PATH haben) und führen Sie aus:
node -vnpm -vBeide Befehle müssen Versionszeichenfolgen zurückgeben. Wenn einer von ihnen 'node' is not recognized as an internal or external command zurückgibt, wurde der PATH nicht korrekt gesetzt. Lesen Sie den Abschnitt zur Fehlerbehebung unten.
Beispiel der erwarteten Ausgabe:
v20.14.0
10.7.01.4 Das globale Paketverzeichnis von npm konfigurieren (optional, aber empfohlen)
Standardmäßig installiert npm globale Pakete in C:Users<username>AppDataRoamingnpm. In einer gemeinsam genutzten oder Multi-User-Windows-Server-Umgebung kann dies zu Berechtigungskonflikten führen. So legen Sie ein benutzerdefiniertes globales Verzeichnis fest:
npm config set prefix "C:npm-global"Fügen Sie dann C:npm-global zu Ihrem System-PATH über Systemeigenschaften > Umgebungsvariablen > Systemvariablen > Pfad hinzu.
Schritt 2: Eine React-Anwendung erstellen
2.1 Der moderne Ansatz: Vite (empfohlen gegenüber Create React App)
Der ursprüngliche Artikel empfiehlt create-react-app (CRA). Dies ist veralteter Rat. CRA wurde Anfang 2023 offiziell eingestellt und wird vom React-Kernteam nicht mehr gepflegt. Die React-Dokumentation selbst empfiehlt es nicht mehr für neue Projekte.
Die aktuell empfohlenen Scaffolding-Tools sind:
| Tool | Build-System | Entwicklungsserver-Geschwindigkeit | Bundle-Ausgabe | Am besten geeignet für |
|---|---|---|---|---|
| — | — | — | — | — |
| **Vite** | Rollup (ESM-nativ) | Extrem schnell (HMR in Millisekunden) | Optimierte ES-Module | Neue Projekte, SPAs, moderne Browser |
| **Create React App** | Webpack 4 | Langsam bei großen Projekten | CommonJS-Bundle | Nur Legacy-Projekte |
| **Next.js** | Turbopack / Webpack | Schnell | SSR + statisch | Full-Stack-React, SEO-kritische Apps |
| **Remix** | esbuild | Schnell | Server-gerendert | Daten- und formularintensive Anwendungen |
| **Parcel** | Parcel-Bundler | Schnell, Zero-Config | Mehrere Ziele | Prototyping, kleine Projekte |
Für eine einfache SPA auf einem Windows VPS ist Vite im Jahr 2024 und darüber hinaus die richtige Wahl.
2.2 Ein neues React-Projekt mit Vite erstellen
Öffnen Sie PowerShell und navigieren Sie zu Ihrem Projektverzeichnis:
cd C:ProjectsErstellen Sie ein neues React-Projekt:
npm create vite@latest my-react-app -- --template reactUm TypeScript zu verwenden (dringend empfohlen für jedes nicht-triviale Projekt):
npm create vite@latest my-react-app -- --template react-tsNavigieren Sie in das Projektverzeichnis und installieren Sie die Abhängigkeiten:
cd my-react-app
npm install2.3 Wenn Sie Create React App verwenden müssen (Legacy-Projekte)
Wenn Sie eine Legacy-Codebasis pflegen, die CRA erfordert, verwenden Sie npx, um es ohne eine globale Installation auszuführen:
npx create-react-app my-react-appFühren Sie nicht npm install -g create-react-app aus. Der globale Installationsansatz ist veraltet und ruft eine veraltete gecachte Version ab. Die Verwendung von npx ruft immer die neueste verfügbare Version aus der Registry ab.
Schritt 3: Den Entwicklungsserver starten
3.1 Den Entwicklungsserver starten
Für ein Vite-basiertes Projekt:
npm run devFür ein CRA-basiertes Projekt:
npm startBeide Befehle starten einen lokalen Entwicklungsserver. Vite verwendet standardmäßig http://localhost:5173; CRA verwendet standardmäßig http://localhost:3000.
3.2 Den Entwicklungsserver auf einem Windows VPS verfügbar machen (Remote-Zugriff)
Auf einem lokalen Rechner ist der Entwicklungsserver nur über localhost zugänglich. Auf einem VPS möchten Sie in der Regel über das Internet von Ihrem lokalen Browser darauf zugreifen. Dafür sind zwei Änderungen erforderlich:
Den Server an alle Netzwerkschnittstellen binden:
Bearbeiten Sie für Vite vite.config.js (oder vite.config.ts):
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
export default defineConfig({
plugins: [react()],
server: {
host: '0.0.0.0',
port: 5173,
},
})Setzen Sie für CRA die Umgebungsvariable HOST vor dem Start:
set HOST=0.0.0.0
npm startDen Port in der Windows-Firewall öffnen:
netsh advfirewall firewall add rule name="React Dev Server" dir=in action=allow protocol=TCP localport=5173Danach können Sie den Entwicklungsserver unter http://<your-vps-ip>:5173 von jedem Browser aus aufrufen.
Sicherheitswarnung: Stellen Sie niemals einen Entwicklungsserver ohne Authentifizierung auf einem Produktions-VPS öffentlich im Internet bereit. Verwenden Sie einen Reverse-Proxy (Nginx oder IIS mit URL Rewrite) oder einen VPN-Tunnel für jede Umgebung, die echte Daten verarbeitet.
Schritt 4: Projektstruktur und wichtige Dateien
Das Verständnis der erstellten Struktur verhindert Verwirrung, wenn Sie beginnen, Dateien zu ändern:
my-react-app/
├── public/ # Static assets served as-is (favicon, robots.txt)
├── src/
│ ├── assets/ # Images, fonts imported by components
│ ├── App.jsx # Root component
│ ├── App.css # Root component styles
│ ├── main.jsx # Entry point — mounts <App /> into index.html
│ └── index.css # Global styles
├── index.html # HTML shell — Vite injects the bundle here
├── vite.config.js # Vite configuration
├── package.json # Dependencies and scripts
└── node_modules/ # Installed packages (never commit this)Die Datei src/main.jsx ist der Einstiegspunkt der Anwendung. Sie ruft ReactDOM.createRoot() auf, um die Root-Komponente in das #root-Div in index.html einzubinden. Jede Komponente, die Sie erstellen, wird letztendlich in diesen Baum importiert.
Schritt 5: Für die Produktion bauen
Wenn die Anwendung bereit für das Deployment ist, erstellen Sie einen optimierten statischen Build:
npm run buildDieser Befehl ruft Vites Rollup-basierten Bundler auf (oder Webpack für CRA), der:
- JSX und modernes JavaScript in browserkompatibles ES5/ES2015+ transpiliert
- Ungenutzten Code aus dem Bundle entfernt (Tree-Shaking)
- JavaScript, CSS und HTML minimiert
- Inhaltsgecachte Dateinamen für langfristiges Browser-Caching generiert
- Alles in das
dist/-Verzeichnis (Vite) oderbuild/-Verzeichnis (CRA) ausgibt
So können Sie den Produktions-Build lokal vor dem Deployment in der Vorschau anzeigen:
npm run previewDer Inhalt von dist/ sind rein statische Dateien (HTML, JS, CSS, Assets). Sie können von jedem Webserver bereitgestellt werden — IIS auf Windows Server, Nginx, Apache oder einem statischen Hosting-Dienst.
Den Build auf IIS auf Windows Server deployen
Wenn Ihr VPS IIS ausführt, konfigurieren Sie eine neue Website, die auf den dist/-Ordner verweist. Da React-SPAs clientseitiges Routing verwenden, müssen Sie eine URL-Rewrite-Regel hinzufügen, um alle 404-Fehler zurück zu index.html umzuleiten:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="React SPA" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/index.html" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>Ohne diese Regel gibt jede direkte Navigation zu einer Route wie /dashboard einen 404-Fehler von IIS zurück, anstatt die React-App zu laden.
Wenn Sie das React-Frontend neben einer Backend-API bereitstellen und eine verwaltete Control-Panel-Umgebung benötigen, kann ein VPS mit cPanel die Konfiguration virtueller Hosts und die SSL-Terminierung vereinfachen.
Schritt 6: Die Anwendung mit HTTPS absichern
Eine produktive React-App muss über HTTPS bereitgestellt werden. Browser blockieren Mixed-Content-Anfragen, und viele Browser-APIs (Service Worker, Geolokalisierung, Zwischenablage) sind auf sichere Kontexte beschränkt.
Für ein VPS-gehostetes Deployment:
- Erwerben Sie ein SSL-Zertifikat für Ihre Domain. AlexHost bietet SSL-Zertifikate an, die direkt auf Ihrem VPS installiert werden können.
- Konfigurieren Sie IIS oder Ihren Reverse-Proxy, um TLS auf Port 443 zu terminieren und HTTP (Port 80) auf HTTPS umzuleiten.
- Setzen Sie die Umgebungsvariable
HTTPSauftrue, wenn Sie den integrierten Server von CRA für lokale HTTPS-Tests verwenden.
Wenn Sie noch keine Domain haben, die auf Ihren VPS zeigt, registrieren Sie zuerst eine über Domain-Registrierung und konfigurieren Sie den DNS-A-Eintrag so, dass er auf die IP-Adresse Ihres VPS zeigt.
Schritt 7: Häufige Probleme beheben
node oder npm nicht erkannt
Das bedeutet, dass das Node.js-Installationsverzeichnis nicht im System-PATH enthalten ist. Beheben Sie es manuell:
- Drücken Sie
Win + R, geben Siesysdm.cplein und drücken Sie Enter. - Gehen Sie zu Erweitert > Umgebungsvariablen.
- Suchen Sie unter Systemvariablen nach
Pathund klicken Sie auf Bearbeiten. - Fügen Sie
C:Program Filesnodejsals neuen Eintrag hinzu. - Klicken Sie in allen Dialogen auf OK und öffnen Sie dann ein neues Terminalfenster.
EACCES oder Zugriff-verweigert-Fehler während der npm-Installation
Auf Windows Server tritt dies typischerweise auf, wenn npm als eingeschränkter Benutzer ausgeführt wird. Führen Sie entweder PowerShell als Administrator aus oder konfigurieren Sie den Cache und die globalen Verzeichnisse von npm auf einen Pfad, den der aktuelle Benutzer besitzt:
npm config set cache "C:npm-cache"
npm config set prefix "C:npm-global"Port bereits in Verwendung
Wenn Port 5173 oder 3000 von einem anderen Prozess belegt ist:
netstat -ano | findstr :5173Identifizieren Sie die PID in der letzten Spalte, dann:
taskkill /PID <PID> /FAlternativ können Sie den Port in vite.config.js ändern oder --port als Flag übergeben:
npm run dev -- --port 3001npm ERR! code EINTEGRITY (Prüfsummen-Fehler)
Dies weist auf einen beschädigten npm-Cache hin. Leeren Sie ihn und versuchen Sie es erneut:
npm cache clean --force
npm installLangsames npm install beim ersten Ausführen
Die anfängliche Abhängigkeitsinstallation für ein React-Projekt kann je nach VPS-Netzwerkdurchsatz und Festplatten-I/O 2–5 Minuten dauern. Wenn es wiederholt zu Timeouts kommt, prüfen Sie, ob der VPS ausgehenden Zugriff auf registry.npmjs.org über Port 443 hat. Einige Datacenter-Firewall-Richtlinien blockieren dies standardmäßig.
Entscheidungsmatrix: Die richtige React-Konfiguration für Ihren VPS wählen
| Szenario | Empfohlenes Scaffolding | Bereitstellen mit | Hinweise |
|---|---|---|---|
| — | — | — | — |
| Neue SPA, moderne Browser-Ziele | Vite + React | IIS / Nginx-Reverse-Proxy | Schnellste Build-Zeiten, beste DX |
| Pflege eines Legacy-CRA-Projekts | CRA (über npx) | IIS / statischer Dateiserver | Nur migrieren, wenn notwendig |
| SEO-kritische öffentliche Website | Next.js | Node.js-Prozess (PM2) | SSR für Crawler-Indexierung erforderlich |
| Internes Dashboard, kein SEO-Bedarf | Vite + React | IIS-statische Website | Kein SSR-Overhead erforderlich |
| Full-Stack-React + API auf demselben VPS | Next.js oder Remix | PM2 + IIS-Reverse-Proxy | API-Routen werden serverseitig verarbeitet |
| Hochfrequentiertes Produktions-Deployment | Vite-Build + CDN | CDN-Edge + VPS-Ursprung | Statische Assets auf CDN auslagern |
Praktische Checkliste der wichtigsten Erkenntnisse
- Installieren Sie das LTS-Release von Node.js mit dem
.msi-Installer, nicht dem.zip-Archiv, um die automatische PATH-Registrierung sicherzustellen. - Verwenden Sie
npx create vite@latestfür alle neuen React-Projekte — CRA ist veraltet und sollte nicht für die Neuentwicklung verwendet werden. - Setzen Sie auf einem VPS
host: '0.0.0.0'invite.config.jsund öffnen Sie den entsprechenden Firewall-Port, um remote auf den Entwicklungsserver zuzugreifen. - Fügen Sie eine IIS-URL-Rewrite-Regel hinzu, um alle Anfragen, die keine Dateien oder Verzeichnisse sind, zu
index.htmlumzuleiten — ohne diese Regel funktioniert das clientseitige Routing beim direkten URL-Zugriff nicht. - Stellen Sie Produktions-Builds immer über HTTPS bereit; erwerben und installieren Sie ein SSL-Zertifikat, bevor Sie live gehen.
- Führen Sie
npm run buildaus und überprüfen Sie diedist/-Ausgabe vor dem Deployment — prüfen Sie Bundle-Größen mitnpm run build -- --reportodervite-bundle-visualizer. - Committen Sie
node_modules/niemals in die Versionskontrolle; fügen Sie es immer zu.gitignorehinzu. - Wenn für verschiedene Projekte mehrere Node-Versionen benötigt werden, installieren Sie nvm-windows, um diese zu verwalten, ohne Node.js global neu installieren zu müssen.
FAQ
Muss React.js auf einem Server „installiert” werden, oder reicht die Build-Ausgabe?
React selbst ist eine Build-Zeit-Abhängigkeit. Die Produktionsausgabe von npm run build ist reines HTML, CSS und JavaScript — auf dem Server ist keine Node.js-Laufzeit erforderlich, um es bereitzustellen. Node.js wird nur auf dem Rechner benötigt, auf dem Sie den Build-Prozess ausführen.
Was ist der Unterschied zwischen npm run dev und npm run build?
npm run dev startet einen Entwicklungsserver mit Hot Module Replacement (HMR) und nicht minimierten Source Maps — er ist nicht für die Leistung optimiert und sollte niemals für Produktions-Traffic verwendet werden. npm run build erzeugt ein minimiertes, tree-geshaktes, inhaltsgecachtes statisches Bundle, das für das Deployment vorgesehen ist.
Warum ist Create React App veraltet und was sollte ich stattdessen verwenden?
CRA basiert auf Webpack 4, das im Vergleich zu Vites ESM-nativem Entwicklungsserver deutlich langsamere Build- und HMR-Zeiten hat. Das React-Team hat CRA 2023 offiziell aus seiner Dokumentation entfernt und empfiehlt jetzt Vite für SPAs, Next.js für Full-Stack-Anwendungen und Remix für datenintensive Apps.
Kann ich mehrere React-Projekte gleichzeitig auf demselben Windows VPS ausführen?
Ja. Jedes Projekt führt seinen Entwicklungsserver auf einem anderen Port aus. Konfigurieren Sie vite.config.js jedes Projekts mit einem eindeutigen port-Wert, öffnen Sie jeden Port in der Windows-Firewall und richten Sie optional IIS als Reverse-Proxy ein, um Subdomains oder Pfade an den entsprechenden Port weiterzuleiten.
Wie halte ich den React-Entwicklungsserver am Laufen, nachdem ich meine RDP-Sitzung geschlossen habe?
Verwenden Sie einen Prozessmanager. Installieren Sie PM2 global (npm install -g pm2) und starten Sie den Entwicklungsserver als verwalteten Prozess: pm2 start npm --name "react-dev" -- run dev. PM2 hält den Prozess unabhängig von der Terminalsitzung am Laufen und kann so konfiguriert werden, dass er beim Systemstart neu gestartet wird.
