- 1 1. Einführung
- 2 2. Installation von Nginx unter Ubuntu
- 3 3. Grundlegende Nginx‑Konfiguration unter Ubuntu
- 4 4. Nginx starten und verwalten
- 5 5. Nginx-Firewall-Einstellungen und Sicherheits‑Härtung
- 6 6. Nginx-Leistungsoptimierung und Fehlersuche
- 7 7. Zusammenfassung und nächste Schritte
1. Einführung
Viele Nutzer möchten Nginx unter Ubuntu verwenden, doch Einsteiger wissen oft nicht, wo sie anfangen sollen. Dieser Artikel liefert eine leicht verständliche, schritt‑für‑Schritt‑Erklärung – von der Installation von Nginx unter Ubuntu bis hin zur Konfiguration und Verwaltung – selbst wenn Sie keinerlei Vorkenntnisse haben.
Was ist Nginx?
Nginx (Engine‑X) ist ein Hochleistungs‑HTTP‑Server und Reverse‑Proxy‑Server. Durch seine leichte und flexible Architektur wird er weltweit in Web‑Servern und Anwendungen eingesetzt. Seine Struktur ist besonders gut geeignet, um stark frequentierte Umgebungen zu bewältigen.
Vorteile der Nutzung von Nginx unter Ubuntu
Ubuntu ist eine beliebte Linux‑Distribution mit hervorragender Kompatibilität zu Nginx. Da Ubuntu das APT‑Paketverwaltungssystem verwendet, sind Installation und Updates einfach, und Sie können eine hohe Stabilität und Sicherheit erwarten.
Nach dem Lesen dieses Artikels verstehen Sie:
- Wie man Nginx unter Ubuntu installiert
- Grundlegende Konfigurations‑ und Verwaltungsverfahren
- Leistungsoptimierung und Fehlersuch‑Techniken
Jetzt legen wir los.
2. Installation von Nginx unter Ubuntu
Um Nginx unter Ubuntu zu betreiben, muss es korrekt installiert werden. Dieser Abschnitt erklärt die Installationsschritte klar und einfach.
Erforderliche Pakete prüfen
Bevor Sie Nginx installieren, stellen Sie sicher, dass Ihr System auf dem neuesten Stand ist. Führen Sie die folgenden Befehle aus:
sudo apt update
sudo apt upgrade
Nginx installieren
Um Nginx zu installieren, geben Sie den folgenden Befehl ein:
sudo apt install nginx
Dieser Befehl lädt Nginx direkt aus dem APT‑Repository von Ubuntu herunter und installiert es.
Installation überprüfen
Führen Sie den folgenden Befehl aus, um zu prüfen, ob Nginx korrekt installiert wurde:
sudo systemctl status nginx
Wenn der Status active (running) anzeigt, war die Installation erfolgreich.
Firewall konfigurieren
Ubuntu enthält UFW (Uncomplicated Firewall), mit dem Sie den Nginx‑Verkehr zulassen können.
sudo ufw allow 'Nginx Full'
sudo ufw enable
Nginx ist nun bereit, über Port 80 (HTTP) und Port 443 (HTTPS) zu kommunizieren.
3. Grundlegende Nginx‑Konfiguration unter Ubuntu
Nur die Installation von Nginx reicht nicht – Sie müssen es richtig konfigurieren, um es effektiv nutzen zu können.
Ort und Struktur der Konfigurationsdateien
Nginx verwendet die folgenden Konfigurationsdateien:
- Hauptkonfigurationsdatei:
/etc/nginx/nginx.conf - Site‑spezifische Konfigurationsdateien: im Verzeichnis
/etc/nginx/sites-available/
Typischerweise erstellen Sie virtuelle Host‑Konfigurationsdateien im Verzeichnis sites-available und legen dann symbolische Links im Verzeichnis sites-enabled an, um sie zu aktivieren.
Einen virtuellen Host konfigurieren
Virtuelle Hosts ermöglichen einem einzigen Server, mehrere Domains und Projekte zu verwalten. Das folgende Beispiel konfiguriert example.com:
sudo nano /etc/nginx/sites-available/example.com
Fügen Sie die nachstehende Konfiguration ein:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
Speichern Sie die Datei und aktivieren Sie die Konfiguration anschließend:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
SSL/TLS konfigurieren
Um eine sichere Kommunikation zu ermöglichen, konfigurieren Sie SSL/TLS‑Zertifikate. Kostenlose Zertifikate erhalten Sie mit Let’s Encrypt.
Zunächst installieren Sie certbot:
sudo apt install certbot python3-certbot-nginx
Anschließend stellen Sie das Zertifikat aus und übernehmen die Einstellungen automatisch:
sudo certbot --nginx -d example.com -d www.example.com
Stellen Sie sicher, dass die automatische Zertifikats‑Erneuerung aktiviert ist, um ein Ablaufen zu verhindern.
4. Nginx starten und verwalten
Nachdem Nginx installiert und konfiguriert ist, müssen Sie lernen, wie Sie es starten, stoppen, neu laden und Fehler beheben. Dieser Abschnitt erklärt die wichtigsten administrativen Befehle.
Grundlegende Nginx‑Befehle
Unter Ubuntu verwenden Sie den Befehl systemctl, um Nginx zu verwalten:
- Nginx starten
sudo systemctl start nginx
- Nginx stoppen
sudo systemctl stop nginx
- Nginx neu starten Verwenden Sie dies, wenn größere Konfigurationsänderungen vorgenommen werden.
sudo systemctl restart nginx
- Nginx neu laden Wenden Sie Konfigurationsänderungen an, ohne neu zu starten.
sudo systemctl reload nginx
- Nginx-Status prüfen
sudo systemctl status nginx
Automatischen Start aktivieren
Um Nginx nach einem Systemneustart automatisch zu starten:
- Automatischen Start aktivieren
sudo systemctl enable nginx
- Automatischen Start deaktivieren
sudo systemctl disable nginx
Protokollprüfungen und Fehlersuche
Wenn Nginx nicht wie erwartet funktioniert, prüfen Sie die Protokolle:
- Fehlerprotokoll
sudo tail -f /var/log/nginx/error.log
- Zugriffsprotokoll
sudo tail -f /var/log/nginx/access.log
Häufige Probleme und Lösungen
- Nginx startet nicht
- Ursache: Fehler in der Konfigurationsdatei
- Lösung:
bash sudo nginx -tPrüfen Sie auf Syntaxfehler und korrigieren Sie diese.
- Änderungen werden nicht übernommen
- Ursache: Nginx wurde nicht neu geladen
- Lösung: Führen Sie nach Änderungen
sudo systemctl reload nginxaus.
- Ports nicht geöffnet
- Ursache: Firewall‑Einstellungen
- Lösung:
bash sudo ufw allow 'Nginx Full'

5. Nginx-Firewall-Einstellungen und Sicherheits‑Härtung
Sicherheit ist beim Betrieb von Nginx entscheidend. Dieser Abschnitt erklärt, wie man UFW konfiguriert und die Sicherheit von Nginx stärkt.
Ports mit UFW öffnen
UFW ist standardmäßig auf Ubuntu installiert. Um die Kommunikation mit Nginx zu ermöglichen, öffnen Sie die erforderlichen Ports:
- UFW-Status prüfen
sudo ufw status
- Nginx-Regeln anwenden
sudo ufw allow 'Nginx Full'
- UFW aktivieren
sudo ufw enable
Zusätzliche Sicherheitsverbesserungen
- Unnötige HTTP‑Methoden deaktivieren
if ($request_method !~ ^(GET|POST|HEAD)$) { return 444; }
- Verzeichnislisting deaktivieren
autoindex off;
- SSL/TLS stärken
ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers HIGH:!aNULL:!MD5;
6. Nginx-Leistungsoptimierung und Fehlersuche
Nginx ist für seine Leistung bekannt, aber eine richtige Optimierung kann sie noch weiter steigern. Dieser Abschnitt erklärt, wie Ressourcen optimiert und häufige Probleme gelöst werden können.
Leistungsoptimierung
1. Worker‑Prozesse konfigurieren
Bearbeiten Sie /etc/nginx/nginx.conf und optimieren Sie die Anzahl der Worker‑Prozesse:
worker_processes auto;
2. Worker‑Verbindungen erhöhen
worker_connections 1024;
3. HTTP/2 aktivieren
listen 443 ssl http2;
sudo systemctl reload nginx
4. Kompression aktivieren
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
5. Caching konfigurieren
location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|svg)$ {
expires 30d;
access_log off;
}
Häufige Probleme und Lösungen
1. Langsame Anfragen bei hoher Last
- Ursache: unzureichende Worker‑Prozesse oder Verbindungs‑Einstellungen
- Lösung: Worker‑Parameter anpassen oder Load Balancing einführen
2. 403 Forbidden‑Fehler
- Ursache: falscher
root‑Pfad oder falsche Berechtigungen - Lösung:
- Überprüfen Sie die
root‑Direktive und korrigieren Sie die Berechtigungen mit: bash sudo chmod -R 755 /var/www/example.com/html sudo chown -R www-data:www-data /var/www/example.com/html
3. Server‑Timeout
- Ursache: Die Verarbeitung der Client‑Anfrage dauert zu lange
- Lösung:
proxy_read_timeout 300; proxy_connect_timeout 300; proxy_send_timeout 300;
4. Neustart‑Fehler
- Ursache: Syntaxprobleme in der Konfiguration
- Lösung:
sudo nginx -t
7. Zusammenfassung und nächste Schritte
Dieser Artikel erklärte, wie man Nginx auf Ubuntu installiert, konfiguriert und verwaltet. Lassen Sie uns das Gelernte zusammenfassen und mögliche nächste Schritte identifizieren.
Artikelübersicht
1. Nginx auf Ubuntu installieren
- Vorbereitete notwendige Pakete und lernte, wie man Nginx mit APT installiert
- Konfigurierte die Firewall (UFW), um Nginx‑Verkehr zu erlauben
2. Grundkonfiguration
- Lernte Dateipfade, Virtual‑Host‑Einrichtung und SSL/TLS‑Konfiguration
3. Verwaltungsoperationen
- Beherrschte Befehle zum Starten, Stoppen, Neustarten, Neuladen und zur Log‑Untersuchung
4. Firewall und Sicherheit
- Öffnete erforderliche Ports mit UFW und deaktivierte unnötige HTTP‑Methoden
5. Leistungsoptimierung und Fehlersuche
- Optimierte Worker‑Prozesse, aktivierte HTTP/2, konfigurierte Caching und löste gängige Probleme
Nächste Schritte
Jetzt, da Sie die grundlegenden Installations‑ und Konfigurationsschritte für Nginx unter Ubuntu verstehen, sollten Sie weiter voranschreiten:
- Erweiterte Nginx‑Konfiguration lernen
- Studieren Sie Load‑Balancing‑ und Reverse‑Proxy‑Funktionen
- Probieren Sie zusätzliche Module wie das Nginx‑RTMP‑Modul aus
- Sicherheit erhöhen
- Erwägen Sie die Implementierung einer Web‑Application‑Firewall (WAF)
- Automatisierung einführen
- Nutzen Sie Ansible oder Docker, um Konfiguration und Bereitstellung zu automatisieren
- Monitoring‑ und Optimierungstools verwenden
- Implementieren Sie Prometheus oder Grafana, um Leistung zu visualisieren und zu überwachen
Abschließende Gedanken
Nginx ist ein schneller und flexibler Web‑Server, der eine breite Palette von Anwendungsfällen unterstützen kann, wenn er korrekt konfiguriert ist. Wenden Sie das Gelernte hier auf reale Projekte an und erkunden Sie weitere Funktionen über die offizielle Nginx‑Dokumentation und Community‑Ressourcen.
Ich hoffe, dieser Leitfaden hilft Ihnen, Ihren Web‑Server effizienter zu verwalten!
