Wie man Nginx auf Ubuntu installiert, konfiguriert und optimiert: Vollständiger Leitfaden für Einsteiger

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:

  1. Nginx starten
    sudo systemctl start nginx
    
  1. Nginx stoppen
    sudo systemctl stop nginx
    
  1. Nginx neu starten Verwenden Sie dies, wenn größere Konfigurationsänderungen vorgenommen werden.
    sudo systemctl restart nginx
    
  1. Nginx neu laden Wenden Sie Konfigurationsänderungen an, ohne neu zu starten.
    sudo systemctl reload nginx
    
  1. Nginx-Status prüfen
    sudo systemctl status nginx
    

Automatischen Start aktivieren

Um Nginx nach einem Systemneustart automatisch zu starten:

  1. Automatischen Start aktivieren
    sudo systemctl enable nginx
    
  1. Automatischen Start deaktivieren
    sudo systemctl disable nginx
    

Protokollprüfungen und Fehlersuche

Wenn Nginx nicht wie erwartet funktioniert, prüfen Sie die Protokolle:

  1. Fehlerprotokoll
    sudo tail -f /var/log/nginx/error.log
    
  1. Zugriffsprotokoll
    sudo tail -f /var/log/nginx/access.log
    

Häufige Probleme und Lösungen

  1. Nginx startet nicht
  • Ursache: Fehler in der Konfigurationsdatei
  • Lösung: bash sudo nginx -t Prüfen Sie auf Syntaxfehler und korrigieren Sie diese.
  1. Änderungen werden nicht übernommen
  • Ursache: Nginx wurde nicht neu geladen
  • Lösung: Führen Sie nach Änderungen sudo systemctl reload nginx aus.
  1. 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:

  1. UFW-Status prüfen
    sudo ufw status
    
  1. Nginx-Regeln anwenden
    sudo ufw allow 'Nginx Full'
    
  1. UFW aktivieren
    sudo ufw enable
    

Zusätzliche Sicherheitsverbesserungen

  1. Unnötige HTTP‑Methoden deaktivieren
    if ($request_method !~ ^(GET|POST|HEAD)$) {
        return 444;
    }
    
  1. Verzeichnislisting deaktivieren
    autoindex off;
    
  1. 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:

  1. Erweiterte Nginx‑Konfiguration lernen
  • Studieren Sie Load‑Balancing‑ und Reverse‑Proxy‑Funktionen
  • Probieren Sie zusätzliche Module wie das Nginx‑RTMP‑Modul aus
  1. Sicherheit erhöhen
  • Erwägen Sie die Implementierung einer Web‑Application‑Firewall (WAF)
  1. Automatisierung einführen
  • Nutzen Sie Ansible oder Docker, um Konfiguration und Bereitstellung zu automatisieren
  1. 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!

年収訴求