- 1 1. Einführung
- 2 2. Installationsanleitung für Nginx unter Ubuntu
- 3 3. Grundlegende Nginx-Konfiguration unter Ubuntu
- 4 4. Nginx starten und verwalten
- 5 5. Nginx Firewall-Konfiguration und Sicherheitsverbesserung
- 6 6. Nginx Performance-Tuning und Fehlerbehebung
- 7 7. Zusammenfassung und nächste Schritte
1. Einführung
Viele möchten Nginx unter Ubuntu verwenden, wissen aber möglicherweise nicht, wo sie anfangen sollen, wenn sie zum ersten Mal damit in Berührung kommen. Dieser Artikel erklärt Schritt für Schritt, wie man Nginx in einer Ubuntu-Umgebung installiert, konfiguriert und verwaltet – auch für Anfänger leicht verständlich.
Was ist Nginx?
Nginx (Engine-X) ist bekannt als leistungsstarker HTTP-Server und Reverse-Proxy-Server. Aufgrund seiner Leichtigkeit und Flexibilität wird es weltweit in Webservern und Anwendungen eingesetzt. Besonders charakteristisch ist seine Struktur, die hohen Traffic bewältigen kann.
Vorteile der Verwendung von Nginx unter Ubuntu
Ubuntu ist eine beliebte Linux-Distribution und harmoniert gut mit Nginx. Da ein Paketverwaltungssystem (APT) verwendet werden kann, ist die Installation und Aktualisierung einfach, und es sind Stabilität und Sicherheit zu erwarten.
Nach dem Lesen dieses Artikels werden Sie Folgendes verstehen:
- Installationsmethode von Nginx unter Ubuntu
- Grundlegende Konfigurations- und Verwaltungsschritte
- Performance-Tuning und Fehlerbehebung
Beginnen wir nun mit der eigentlichen Arbeit.
2. Installationsanleitung für Nginx unter Ubuntu
Um Nginx unter Ubuntu auszuführen, müssen Sie es zunächst korrekt installieren. Hier erklären wir die Installationsschritte auf leicht verständliche Weise.
Überprüfung der erforderlichen Pakete
Bevor Sie mit der Installation beginnen, stellen Sie sicher, dass Ihr System auf dem neuesten Stand ist. Führen Sie die folgenden Befehle aus:
sudo apt update
sudo apt upgrade
Installation von Nginx
Geben Sie den folgenden Befehl ein, um Nginx zu installieren:
sudo apt install nginx
Mit diesem Befehl wird Nginx automatisch aus dem APT-Repository von Ubuntu heruntergeladen und installiert.
Installationsprüfung
Um zu überprüfen, ob die Installation korrekt abgeschlossen wurde, überprüfen Sie den Status von Nginx mit dem folgenden Befehl:
sudo systemctl status nginx
Wenn die Ausgabe „active (running)“ anzeigt, war die Installation erfolgreich.
Firewall-Konfiguration
Ubuntu verfügt über UFW (Uncomplicated Firewall), das verwendet wird, um die Kommunikation von Nginx zu erlauben.
sudo ufw allow 'Nginx Full'
sudo ufw enable
Damit ist Nginx bereit, auf Port 80 (HTTP) und Port 443 (HTTPS) zu arbeiten.

3. Grundlegende Nginx-Konfiguration unter Ubuntu
Die Installation von Nginx allein reicht noch nicht aus. Als Nächstes nehmen wir grundlegende Einstellungen vor, damit Nginx effektiv genutzt werden kann.
Speicherort und Grundstruktur der Konfigurationsdateien
Die wichtigsten Konfigurationsdateien von Nginx befinden sich an folgenden Speicherorten:
- Hauptkonfigurationsdatei:
/etc/nginx/nginx.conf
- Site-spezifische Konfigurationsdateien: im Verzeichnis
/etc/nginx/sites-available/
Im Wesentlichen erstellt man Konfigurationsdateien für virtuelle Hosts im Verzeichnis sites-available
und verknüpft diese mit symbolischen Links im Verzeichnis sites-enabled
.
Konfiguration des virtuellen Hosts
Durch die Konfiguration virtueller Hosts können Sie mehrere Domains oder Projekte auf einem einzigen Server verwalten. Das folgende Beispiel konfiguriert example.com
.
sudo nano /etc/nginx/sites-available/example.com
Geben Sie den folgenden Inhalt 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 mit den folgenden Befehlen:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
SSL/TLS-Konfiguration
Um eine sichere Kommunikation zu gewährleisten, konfigurieren Sie SSL/TLS-Zertifikate. Sie können kostenlose Zertifikate mit Let’s Encrypt erhalten.
Installieren Sie zunächst certbot
:
sudo apt install certbot python3-certbot-nginx
Führen Sie anschließend den folgenden Befehl aus, um ein SSL-Zertifikat zu erhalten und automatisch zu konfigurieren:
sudo certbot --nginx -d example.com -d www.example.com
Konfigurieren Sie auch die automatische Verlängerung, damit das Zertifikat nicht abläuft.
4. Nginx starten und verwalten
Nach der Installation und Grundkonfiguration von Nginx müssen Sie lernen, wie Sie es starten, stoppen und Konfigurationsänderungen neu laden. Dieser Abschnitt erklärt die grundlegenden Befehle zur Verwaltung von Nginx und wie man bei Problemen vorgeht.
Grundlegende Nginx-Befehle
Unter Ubuntu verwenden Sie den Befehl systemctl
, um den Status von Nginx zu verwalten. Hier sind die wichtigsten Befehle:
- Nginx starten
sudo systemctl start nginx
- Nginx stoppen
sudo systemctl stop nginx
- Nginx neu starten
Bei größeren Konfigurationsänderungen kann ein Neustart erforderlich sein.
sudo systemctl restart nginx
- Nginx neu laden
Wenn Sie Konfigurationsdateien geändert haben, können Sie sie durch Neuladen anwenden, ohne neu zu starten.
sudo systemctl reload nginx
- Nginx-Status überprüfen
Verwenden Sie den folgenden Befehl, um zu überprüfen, ob es ordnungsgemäß funktioniert:
sudo systemctl status nginx
Nginx-Autostart-Konfiguration
Durch das Aktivieren des automatischen Starts von Nginx müssen Sie es nach einem Systemneustart nicht mehr manuell starten.
- Autostart aktivieren
sudo systemctl enable nginx
- Autostart deaktivieren
Bei Bedarf deaktivieren:
sudo systemctl disable nginx
Protokolle überprüfen und Fehler beheben
Wenn Nginx nicht wie erwartet funktioniert, überprüfen Sie die Protokolle, um die Ursache zu ermitteln.
- Fehlerprotokolle überprüfen
Fehlerprotokolle werden hier gespeichert:
sudo tail -f /var/log/nginx/error.log
- Zugriffsprotokolle überprüfen
Sie können den Inhalt der Client-Anfragen überprüfen:
sudo tail -f /var/log/nginx/access.log
Häufige Probleme und Lösungen
- Nginx startet nicht
- Ursache: Möglicher Fehler in der Konfigurationsdatei.
- Lösung:
bash sudo nginx -t
Überprüfen Sie mit diesem Befehl die Konfigurationsdatei auf Fehler und beheben Sie die Probleme.
- Änderungen werden nicht übernommen
- Ursache: Neuladen oder Neustart wurde nicht durchgeführt.
- Lösung:
Führen Sie nach Konfigurationsänderungensudo systemctl reload nginx
aus.
- Port ist nicht geöffnet
- Ursache: Firewall-Einstellungen.
- Lösung:
bash sudo ufw allow 'Nginx Full'
Durch die Anwendung dieser Schritte können Sie die grundlegende Verwaltung von Nginx sicher durchführen.

5. Nginx Firewall-Konfiguration und Sicherheitsverbesserung
Sicherheit ist beim Betrieb von Nginx sehr wichtig. Dieser Abschnitt erklärt die Port-Konfiguration mit der Ubuntu-Firewall (UFW) und wie man die Sicherheit von Nginx verbessert.
Portfreigabe mit UFW
UFW (Uncomplicated Firewall) ist ein standardmäßig in Ubuntu installiertes Firewall-Tool. Damit Nginx ordnungsgemäß funktioniert, müssen die Ports 80 (HTTP) und 443 (HTTPS) geöffnet werden.
- Aktuellen UFW-Status überprüfen
sudo ufw status
- Nginx-Regeln anwenden
Öffnen Sie die erforderlichen Ports mit dem folgenden Befehl:
sudo ufw allow 'Nginx Full'
- UFW aktivieren
Wenn die Firewall deaktiviert ist, aktivieren Sie sie:
sudo ufw enable
Zusätzliche Einstellungen zur Sicherheitsverbesserung
- Deaktivierung unnötiger HTTP-Methoden
Um die Serversicherheit zu erhöhen, deaktivieren Sie unnötige HTTP-Methoden. Fügen Sie die folgende Einstellung zur Nginx-Konfigurationsdatei hinzu:
if ($request_method !~ ^(GET|POST|HEAD)$) {
return 444;
}
- Deaktivierung des Verzeichnis-Listings
Um zu verhindern, dass Verzeichnisinhalte öffentlich zugänglich sind, fügen Sie Folgendes zur Konfigurationsdatei hinzu:
autoindex off;
- Verbesserung von SSL/TLS
Um starke Verschlüsselungsmethoden zu verwenden, fügen Sie der SSL-Konfiguration Folgendes hinzu:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers HIGH:!aNULL:!MD5;
6. Nginx Performance-Tuning und Fehlerbehebung
Nginx wird als hochleistungsfähiger Webserver eingesetzt, und durch entsprechende Optimierung kann seine Leistung weiter gesteigert werden. Dieser Abschnitt erläutert Methoden zur Verbesserung der Nginx-Performance und Lösungen für häufige Probleme.
Performance-Tuning
1. Konfiguration der Worker-Prozesse
Nginx verwendet ein Multi-Prozess-Design, und durch die korrekte Einstellung der Worker-Prozesse kann die Leistung optimiert werden.
Bearbeiten Sie die Konfigurationsdatei /etc/nginx/nginx.conf
:
worker_processes auto;
Durch die Angabe von auto
wird die optimale Anzahl von Prozessen entsprechend der Anzahl der CPU-Kerne des Servers automatisch eingestellt.
2. Erhöhen der Verbindungsanzahl pro Worker-Prozess
Standardmäßig ist die Anzahl der Verbindungen pro Worker-Prozess begrenzt. Durch Erhöhen dieses Wertes wird die Verarbeitungsfähigkeit bei hoher Last verbessert.
Suchen Sie in der Konfigurationsdatei nach der folgenden Zeile oder fügen Sie sie hinzu:
worker_connections 1024;
3. Aktivierung von HTTP/2
Durch die Aktivierung von HTTP/2 wird die Kommunikation mit dem Browser effizienter und die Ladezeit der Website verbessert.
Bearbeiten Sie die Datei /etc/nginx/sites-available/example.com
und ändern Sie die listen
-Direktive wie folgt:
listen 443 ssl http2;
Danach laden Sie Nginx neu:
sudo systemctl reload nginx
4. Konfiguration der Inhaltskomprimierung
Durch das Komprimieren und Senden von Dateien können Sie das Datenvolumen reduzieren und die Seitenladezeit verbessern.
Fügen Sie Folgendes zur Konfigurationsdatei hinzu oder aktivieren Sie es:
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
5. Cache-Konfiguration
Durch die Konfiguration des Caches für statische Dateien kann die Anzahl der Anfragen für dieselben Ressourcen reduziert werden.
Fügen Sie Folgendes zum Server-Block hinzu:
location ~* .(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|svg)$ {
expires 30d;
access_log off;
}
Häufige Problembehebung
1. Langsame Anfragenbearbeitung bei hoher Last
- Ursache
Oft sind Worker-Prozesse oder Verbindungszahlen falsch konfiguriert. - Lösung
- Anpassung der Worker-Prozesse und Worker-Verbindungszahlen.
- Gegebenenfalls Einführung eines Lastverteilers (Load Balancer).
2. Fehlercode 403 Forbidden wird angezeigt
- Ursache
- Der Pfad der
root
-Direktive in der Nginx-Konfigurationsdatei ist falsch. - Die Berechtigungen für Verzeichnisse oder Dateien sind unzureichend.
- Lösung
- Überprüfen Sie die
root
-Direktive in der Konfigurationsdatei und geben Sie den korrekten Pfad an. - Korrigieren Sie die Berechtigungen mit dem folgenden Befehl:
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 von Client-Anfragen dauert zu lange.
- Lösung
Passen Sie die Timeout-Zeit an. Fügen Sie der Konfigurationsdatei Folgendes hinzu oder ändern Sie es:
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;
4. Fehler beim Neustart von Nginx
- Ursache
Die Konfigurationsdatei enthält Fehler. - Lösung
Führen Sie vor dem Speichern der Konfiguration eine Syntaxprüfung mit dem folgenden Befehl durch:
sudo nginx -t
Durch die Umsetzung dieser Schritte können Sie die Nginx-Leistung maximieren und häufige Probleme beheben.

7. Zusammenfassung und nächste Schritte
Dieser Artikel hat detailliert erklärt, wie man Nginx unter Ubuntu installiert, effektiv konfiguriert und verwaltet. Wir blicken auf die in jedem Abschnitt gelernten Inhalte zurück und geben Ratschläge für die nächsten Schritte.
Rückblick auf den gesamten Artikel
1. Nginx-Installationsanleitung unter Ubuntu
- Wir haben gelernt, wie man die erforderlichen Pakete vorbereitet und Nginx mit APT installiert.
- Wir haben die Firewall (UFW) konfiguriert, um die Nginx-Kommunikation zu erlauben.
2. Grundlegende Konfiguration
- Wir haben den Speicherort und die Struktur der Konfigurationsdateien verstanden und die Schritte zur Einrichtung von virtuellen Hosts und SSL/TLS gelernt.
- Wir haben die konkreten Konfigurationsmethoden anhand von Codebeispielen gelernt.
3. Start- und Verwaltungsmethoden
- Wir haben grundlegende Operationen wie Starten, Stoppen, Neustarten und Neuladen verstanden.
- Wir haben auch gelernt, wie man Protokolle überprüft, um die Fehlerbehebung zu erleichtern.
4. Firewall-Konfiguration und Sicherheitsverbesserung
- Wir haben Sicherheitsverbesserungen wie das Öffnen von Ports mit UFW und das Deaktivieren unnötiger HTTP-Methoden praktiziert.
5. Performance-Tuning und Fehlerbehebung
- Wir haben spezifische Tuning-Methoden wie die Optimierung von Worker-Prozessen, die Aktivierung von HTTP/2 und Cache-Einstellungen erläutert.
- Wir haben gelernt, wie man mit häufigen Problemen umgeht, um einen stabileren Betrieb zu erreichen.
Nächste Schritte
Durch das Erlernen der in diesem Artikel vorgestellten grundlegenden Installations- und Konfigurationsschritte sollten Sie die Grundlagen für den Betrieb von Nginx unter Ubuntu beherrschen. Um Ihre Fähigkeiten weiter zu vertiefen, ziehen Sie die folgenden nächsten Schritte in Betracht:
- Erlernen fortgeschrittener Nginx-Konfigurationen
- Lernen Sie detaillierte Einstellungen für Lastverteilung (Load Balancing) und Reverse Proxy, um einen fortgeschritteneren Betrieb anzustreben.
- Versuchen Sie, neue Anwendungsfälle zu realisieren, indem Sie Module (z.B. das Nginx RTMP-Modul) nutzen.
- Weitere Sicherheitsverbesserungen
- Erwägen Sie die Implementierung einer Web Application Firewall (WAF) oder die Nutzung sicherheitsrelevanter Nginx-Module.
- Einführung der Automatisierung
- Sie können die Arbeitseffizienz verbessern, indem Sie lernen, wie Sie Nginx-Bereitstellungen und -Verwaltung mit Ansible oder Docker automatisieren.
- Nutzung von Überwachungs- und Optimierungstools
- Führen Sie Überwachungstools wie Prometheus und Grafana ein, um die Nginx-Leistung in Echtzeit zu visualisieren.
Fazit
Nginx ist ein schneller und flexibler Webserver, der bei korrekter Konfiguration viele Anwendungsfälle abdecken kann. Nutzen Sie das in diesem Artikel Gelernte und wenden Sie es in Ihren tatsächlichen Projekten an.
Sollten in Zukunft weitere Fragen oder neue Bedürfnisse auftauchen, empfehlen wir Ihnen, die offizielle Nginx-Dokumentation oder Community-Ressourcen zu konsultieren. Wir hoffen, dass dieser Artikel Ihnen bei der Verwaltung Ihres Webservers von Nutzen ist!