For the complete documentation index, see llms.txt. This page is also available as Markdown.

Nginx unter Windows installieren

Nginx ist ein Webserver und Reverse Proxy. Du kannst Nginx nutzen, um Webseiten auszuliefern, Anfragen an andere Anwendungen weiterzuleiten oder Dienste über HTTP und HTTPS erreichbar zu machen.

In diesem Artikel erklären wir dir, wie du Nginx auf einem Windows Server installierst und startest.

Voraussetzungen

Du benötigst:

  • einen Windows Server

  • Administratorzugriff

  • eine aktive Internetverbindung

  • Zugriff per Remote Desktop

  • optional eine Domain, wenn Nginx später öffentlich über eine Domain erreichbar sein soll

Für die Installation solltest du dich per Remote Desktop mit deinem Windows Server verbinden.

Nginx für Windows herunterladen

Nginx stellt eine eigene Windows-Version bereit. Diese wird als ZIP-Datei heruntergeladen und anschließend entpackt.

  1. Öffne auf deinem Windows Server einen Browser.

  2. Öffne die offizielle Nginx-Webseite.

  3. Lade die aktuelle stabile Windows-Version herunter.

  4. Speichere die ZIP-Datei auf deinem Server.

Die offizielle Downloadseite findest du unter:

https://nginx.org/en/download.html

Nginx bietet in der Regel zwei Varianten an:

Variante
Bedeutung

Stable

stabile Version für normale Nutzung

Mainline

aktuelle Version mit neueren Änderungen

Für die meisten Nutzer ist die Stable-Version empfehlenswert.

Nginx entpacken

Nach dem Download musst du die ZIP-Datei entpacken.

  1. Öffne den Ordner, in dem die ZIP-Datei gespeichert wurde.

  2. Klicke mit der rechten Maustaste auf die Datei.

  3. Wähle Alle extrahieren.

  4. Entpacke den Ordner nach C:\nginx.

Am Ende sollte die Datei nginx.exe unter diesem Pfad liegen:

C:\nginx\nginx.exe

Wenn dein entpackter Ordner zum Beispiel nginx-1.30.2 heißt, kannst du ihn entweder in nginx umbenennen oder den Pfad entsprechend anpassen.

Nginx starten

Öffne die Eingabeaufforderung als Administrator.

  1. Klicke auf das Windows-Startmenü.

  2. Suche nach cmd.

  3. Klicke mit der rechten Maustaste auf Eingabeaufforderung.

  4. Wähle Als Administrator ausführen.

Wechsle anschließend in den Nginx-Ordner:

cd C:\nginx

Starte Nginx:

start nginx

Alternativ kannst du auch direkt aus dem Ordner starten:

nginx.exe

Installation prüfen

Öffne auf dem Server einen Browser und rufe folgende Adresse auf:

http://localhost

Wenn Nginx korrekt gestartet wurde, erscheint die Nginx-Startseite.

Du kannst auch von deinem eigenen Computer aus testen, ob Nginx öffentlich erreichbar ist:

http://SERVER-IP

Ersetze SERVER-IP durch die IP-Adresse deines KVM-Servers.

Port 80 in der Windows Firewall öffnen

Wenn Nginx lokal funktioniert, aber von außen nicht erreichbar ist, blockiert häufig die Windows Firewall den Zugriff.

Für normale Webseiten muss Port 80 geöffnet sein.

Für HTTPS muss später zusätzlich Port 443 geöffnet werden.

Port 80 öffnen

  1. Öffne das Windows-Startmenü.

  2. Suche nach Windows Defender Firewall.

  3. Öffne Erweiterte Einstellungen.

  4. Wähle links Eingehende Regeln.

  5. Klicke rechts auf Neue Regel.

  6. Wähle Port.

  7. Wähle TCP.

  8. Trage bei bestimmten lokalen Ports 80 ein.

  9. Wähle Verbindung zulassen.

  10. Wähle die passenden Profile aus.

  11. Vergib einen Namen, zum Beispiel Nginx HTTP.

  12. Speichere die Regel.

Danach sollte Nginx über http://SERVER-IP erreichbar sein.

Port 443 für HTTPS öffnen

Wenn du später HTTPS verwenden möchtest, musst du zusätzlich Port 443 öffnen.

Erstelle dafür eine weitere eingehende Regel:

Einstellung
Wert

Typ

Port

Protokoll

TCP

Port

443

Aktion

Verbindung zulassen

Name

Nginx HTTPS

Nginx beenden

Wenn du Nginx stoppen möchtest, öffne die Eingabeaufforderung als Administrator und wechsle in den Nginx-Ordner:

cd C:\nginx

Nginx stoppen:

nginx -s stop

Nginx neu laden

Wenn du die Konfiguration geändert hast, musst du Nginx nicht immer komplett beenden. Du kannst die Konfiguration neu laden.

Befehl:

nginx -s reload

Das ist sinnvoll, wenn du zum Beispiel die Datei nginx.conf angepasst hast.

Nginx-Konfiguration prüfen

Vor dem Neuladen solltest du prüfen, ob die Konfiguration fehlerfrei ist.

Befehl:

nginx -t

Wenn die Konfiguration korrekt ist, zeigt Nginx eine erfolgreiche Prüfung an.

Wenn ein Fehler vorhanden ist, wird meistens die betroffene Datei und Zeile angezeigt.

Wichtige Ordner und Dateien

Nach dem Entpacken findest du mehrere Ordner und Dateien im Nginx-Verzeichnis.

Pfad
Bedeutung

C:\nginx\nginx.exe

Nginx-Programm

C:\nginx\conf\nginx.conf

Hauptkonfiguration

C:\nginx\html\

Standard-Webverzeichnis

C:\nginx\logs\

Logdateien

C:\nginx\logs\access.log

Zugriffslog

C:\nginx\logs\error.log

Fehlerlog

Standard-Webseite ändern

Die Standard-Webseite liegt im Ordner:

C:\nginx\html\

Dort findest du unter anderem die Datei:

index.html

Du kannst diese Datei bearbeiten oder durch deine eigene Webseite ersetzen.

Wenn du danach http://SERVER-IP öffnest, sollte deine eigene Seite angezeigt werden.

Einfache Nginx-Konfiguration

Die Hauptkonfiguration liegt hier:

C:\nginx\conf\nginx.conf

Eine einfache Server-Konfiguration für Port 80 sieht ungefähr so aus:

server { listen 80; server_name deine-domain.de; root html; index index.html; }

Wenn du eine Domain verwenden möchtest, muss diese per DNS auf die IP-Adresse deines Servers zeigen.

Domain mit Nginx verwenden

Damit deine Domain auf Nginx zeigt, benötigst du einen DNS-Eintrag.

Typischer Eintrag:

Typ
Name
Ziel

A

@

IPv4-Adresse deines Servers

A

www

IPv4-Adresse deines Servers

Wenn du eine Subdomain verwenden möchtest:

Typ
Name
Ziel

A

web

IPv4-Adresse deines Servers

Danach ist deine Webseite zum Beispiel über folgende Adresse erreichbar:

http://deinedomain.de

oder:

http://web.deinedomain.de

DNS-Änderungen sind nicht immer sofort aktiv. Es kann einige Minuten bis mehrere Stunden dauern, bis die Änderung überall übernommen wurde.

Nginx automatisch starten lassen

Nginx wird unter Windows nicht automatisch als Windows-Dienst installiert.

Wenn du Nginx einfach über start nginx startest, läuft es nur, solange der Prozess aktiv ist. Nach einem Neustart des Servers musst du Nginx erneut starten.

Für eine dauerhafte Nutzung gibt es zwei typische Möglichkeiten:

  • Nginx über die Aufgabenplanung starten

  • Nginx mit einem Service-Wrapper als Windows-Dienst einrichten

Nginx über Aufgabenplanung starten

Du kannst Nginx beim Systemstart über die Windows-Aufgabenplanung starten lassen.

  1. Öffne die Windows-Aufgabenplanung.

  2. Klicke auf Aufgabe erstellen.

  3. Vergib einen Namen, zum Beispiel Nginx Autostart.

  4. Wähle Mit höchsten Privilegien ausführen.

  5. Erstelle einen Trigger Beim Systemstart.

  6. Erstelle eine Aktion Programm starten.

  7. Wähle als Programm C:\nginx\nginx.exe.

  8. Setze als Startverzeichnis C:\nginx.

  9. Speichere die Aufgabe.

Starte den Server anschließend neu und prüfe, ob Nginx automatisch gestartet wurde.

Nginx als Windows-Dienst verwenden

Nginx wird unter Windows standardmäßig nicht als Dienst eingerichtet.

Wenn du Nginx als Dienst betreiben möchtest, kannst du einen Service-Wrapper verwenden. Häufig wird dafür NSSM verwendet.

Dabei wird nginx.exe als Windows-Dienst registriert. Das ist praktisch, wenn Nginx automatisch starten und über die Windows-Diensteverwaltung kontrolliert werden soll.

Achte bei solchen Tools darauf, sie nur aus vertrauenswürdigen Quellen zu beziehen.

Nginx als Reverse Proxy verwenden

Nginx wird häufig als Reverse Proxy verwendet.

Ein Reverse Proxy nimmt Anfragen entgegen und leitet sie intern an eine andere Anwendung weiter.

Beispiel:

  • Besucher ruft http://deinedomain.de auf

  • Nginx empfängt die Anfrage auf Port 80

  • Nginx leitet die Anfrage intern an eine Anwendung auf Port 3000 weiter

Das ist typisch für Anwendungen wie:

  • Node.js

  • Python-Webapps

  • Docker-Anwendungen

  • Webinterfaces

  • interne Dienste

Eine einfache Reverse-Proxy-Konfiguration kann zum Beispiel auf 127.0.0.1:3000 weiterleiten.

Nginx Logs prüfen

Wenn Nginx nicht funktioniert, solltest du zuerst die Logs prüfen.

Wichtige Dateien:

C:\nginx\logs\error.log

C:\nginx\logs\access.log

Die Datei error.log enthält Fehler beim Starten oder Verarbeiten von Anfragen.

Die Datei access.log zeigt eingehende Zugriffe.

Häufige Probleme

Webseite ist nur lokal erreichbar

Wenn http://localhost funktioniert, aber http://SERVER-IP nicht erreichbar ist, liegt das häufig an der Firewall.

Prüfe:

  • Port 80 ist in der Windows Firewall geöffnet

  • Nginx läuft

  • die Server-IP ist korrekt

  • dein Server ist online

  • keine andere Firewall blockiert den Zugriff

Port 80 ist bereits belegt

Wenn Nginx nicht startet, kann Port 80 bereits von einem anderen Programm verwendet werden.

Typische Programme sind:

  • IIS

  • Apache

  • andere Webserver

  • Entwicklungsserver

  • Control Panels

Prüfe belegte Ports mit:

netstat -ano | findstr :80

Wenn ein anderes Programm Port 80 nutzt, musst du dieses Programm stoppen oder Nginx auf einen anderen Port konfigurieren.

Nginx startet nicht

Prüfe zuerst die Konfiguration:

nginx -t

Prüfe anschließend die Fehlerlogs:

C:\nginx\logs\error.log

Häufige Ursachen sind:

  • falscher Pfad

  • fehlerhafte nginx.conf

  • Port bereits belegt

  • fehlende Rechte

  • Datei wurde falsch gespeichert

  • falsche Klammern in der Konfiguration

Änderungen werden nicht übernommen

Wenn du die Konfiguration geändert hast, musst du Nginx neu laden.

Befehl:

nginx -s reload

Wenn das nicht funktioniert, prüfe die Konfiguration:

nginx -t

Domain zeigt nicht auf den Server

Prüfe:

  • A-Record zeigt auf die richtige IPv4-Adresse

  • DNS-Änderung ist bereits aktiv

  • Domain wurde richtig geschrieben

  • Nginx ist gestartet

  • Port 80 ist geöffnet

  • die Nginx-Konfiguration enthält die richtige Domain

HTTPS funktioniert nicht

Für HTTPS brauchst du:

  • Port 443

  • ein gültiges SSL-Zertifikat

  • passende Nginx-Konfiguration

  • eine Domain, die auf den Server zeigt

Ohne SSL-Zertifikat funktioniert HTTPS nicht korrekt.

Windows oder Linux für Nginx?

Nginx kann unter Windows genutzt werden. Für produktive Webserver wird aber häufig Linux verwendet, weil Nginx dort stärker verbreitet ist und sich einfacher als Systemdienst betreiben lässt.

Windows kann sinnvoll sein, wenn:

  • deine Anwendung Windows benötigt

  • du bereits einen Windows Server nutzt

  • du Nginx als einfachen Reverse Proxy verwenden möchtest

  • du eine bestimmte Windows-Anwendung veröffentlichen möchtest

Linux ist oft sinnvoller, wenn:

  • du einen klassischen Webserver betreiben möchtest

  • du viele Webseiten hostest

  • du Let's Encrypt automatisiert nutzen möchtest

  • du eine stabile Serverdienst-Verwaltung mit systemd möchtest

Zuletzt aktualisiert