Nginx – ausgesprochen „Engine X“ – ist ein Open-Source-Server-Dienstprogramm. Es wurde entwickelt, um als Reverse-Proxy zu fungieren, Client-Anfragen abzufangen und sie an einen geeigneten Server weiterzuleiten.
Seitdem wurde es um Lastausgleichs-, Anonymisierungs- und Skalierungsfunktionen erweitert. Es verfügt auch über Funktionen, die statische Ressourcenanforderungen schneller als Apache verarbeiten können, sodass Sie Anforderungen ausbalancieren können, um die Leistung und Ressourcennutzung strategisch zu verbessern.
Dieser Leitfaden führt Sie durch die Einrichtung und Installation von Nginx unter Ubuntu 18.04 (Bionischer Biber).

Voraussetzungen
- Ein System, auf dem Ubuntu 18.04 ausgeführt wird
- Ein Nutzerkonto mit sudo-Berechtigungen
- Das Dienstprogramm apt package manager, standardmäßig enthalten
- Die UFW oder unkomplizierte Firewall, standardmäßig enthalten
- SSH-Zugriff
Schritte zur Installation von Nginx auf Ubuntu
Software-Repositories aktualisieren
Melden Sie sich über SSH als Root-Benutzer bei Ihrem Server an
ssh [email protected]
Vor der Installation neuer Software wird dringend empfohlen, Ihre lokale Softwaredatenbank zu aktualisieren. Durch die Aktualisierung können Sie sicherstellen, dass Sie die neueste verfügbare Software mit den besten Patches installieren.
Geben Sie Folgendes ein:
sudo apt update
Warten Sie, bis der Vorgang abgeschlossen ist.
Installieren Sie Nginx auf Ubuntu
Geben Sie Folgendes ein, um Nginx unter Ubuntu zu installieren :
sudo apt install nginx
Es kann einige Zeit dauern, bis das System die Softwarepakete heruntergeladen und installiert hat. Warten Sie, bis der Vorgang abgeschlossen ist, bevor Sie fortfahren.
Vergewissern Sie sich, dass der Nginx-Dienst ausgeführt wird
Verwenden Sie den folgenden Befehl, um den Status des Nginx-Dienstes zu überprüfen:
sudo systemctl status nginx
Das System sollte eine Liste mit Informationen über den Nginx-Dienst zurückgeben. Die aktive Zeile zeigt an, ob der Dienst ausgeführt wird oder nicht. Wenn Sie den Dienst starten müssen, verwenden Sie Folgendes:
sudo systemctl start nginx
Sie können anstelle von start auch die folgenden Befehle verwenden:
sudo systemctl stop nginx
– stoppt den Nginx-Dienstsudo systemctl enable nginx
– ermöglicht Nginx das Laden beim Startsudo systemctl disable nginx
– verhindert, dass Nginx beim Start geladen wird
Nginx-Datenverkehr durch eine Firewall zulassen
Mit dem folgenden Befehl können Sie eine Liste der Firewall-Regeln generieren:
sudo ufw app list
Dies sollte eine Liste von Anwendungsprofilen generieren. In der Liste sollten Sie vier Einträge sehen, die sich auf Nginx beziehen:
Nginx full
– öffnet Port 80 für normalen Webverkehr und Port 443 für sicheren verschlüsselten WebverkehrNginx HTTP
– Öffnet Port 80 für normalen WebverkehrNginx HTTPS
– Öffnet Port 443 für verschlüsselten WebverkehrOpenSSH
– Dies ist eine Konfiguration für SecureShell-Vorgänge, mit denen Sie sich über eine sichere, verschlüsselte Verbindung bei einem Remote-Server anmelden können
Um normalen HTTP-Datenverkehr zu Ihrem Nginx-Server zuzulassen, verwenden Sie das Nginx-HTTP-Profil mit dem folgenden Befehl:
sudo ufw allow ‘Nginx HTTP’
Verwenden Sie den folgenden Befehl, um den Status Ihrer Firewall zu überprüfen:
sudo ufw status
Es sollte eine Liste der Art von HTTP-Webverkehr anzeigen, der für verschiedene Dienste zulässig ist. Nginx HTTP sollte als ALLOW and Anywhere aufgeführt sein.
Nginx in einem Webbrowser testen
Öffnen Sie einen Webbrowser wie Firefox.
Geben Sie die IP-Adresse Ihres Systems in die Adressleiste ein oder geben Sie localhost ein .
Ihr Browser sollte eine Seite anzeigen, die Sie bei Nginx willkommen heißt.
Serverblöcke definieren
Nginx verwendet eine Konfigurationsdatei, um zu bestimmen, wie es sich verhält. Eine Möglichkeit, die Konfigurationsdatei zu verwenden, besteht darin, Serverblöcke zu definieren, die ähnlich wie ein virtueller Apache-Host funktionieren.
Nginx wurde entwickelt, um als Front für mehrere Server zu fungieren, was durch die Erstellung von Serverblöcken erfolgt.
Standardmäßig befindet sich die Hauptkonfigurationsdatei von Nginx unter /etc/nginx/nginx.conf. Serverblock-Konfigurationsdateien befinden sich unter /etc/nginx/sites-available .
Geben Sie den folgenden Befehl in einem Terminal ein, um den Inhalt der standardmäßigen Serverblock-Konfigurationsdatei anzuzeigen:
sudo vi /etc/nginx/sites-available/default
Dies sollte die Standardkonfigurationsdatei im Vi-Texteditor öffnen, die etwa so aussehen sollte:
# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;
[...]
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
[...]
}
- Die Listen-Befehle Nginx mitteilen, an welchen Ports nach Datenverkehr gesucht werden soll
- Default_server definiert dies als den zu liefernden Block, sofern vom Kunden nicht anders angegeben
- Root bestimmt, welches Verzeichnis das Root-Verzeichnis für die bereitgestellte Website enthält
- Servername ermöglicht es Ihnen, einen Namen für einen bestimmten Serverblock anzugeben, der in fortgeschritteneren Konfigurationen verwendet wird
- Standort ermöglicht es Ihnen, den Ort festzulegen, an den Nginx den Datenverkehr leiten soll
Erstellen Sie einen Beispielserverblock
Eine HTML-Datei einrichten
Es ist hilfreich, eine Beispielkonfiguration durchzugehen. Geben Sie in einem Terminalfenster den folgenden Befehl ein, um ein „test“-Verzeichnis zu erstellen, mit dem Sie arbeiten können:
sudo mkdir /var/www/example
Erstellen und öffnen Sie eine einfache HTML-Indexdatei, die als Testwebseite dient:
sudo vi /var/www/example/index.html
Geben Sie im Vi-Texteditor (Sie können Ihren bevorzugten Texteditor verwenden, wenn Sie möchten) Folgendes ein:
Welcome to the Example Website!
Speichern Sie die Datei und beenden Sie sie.
Einen einfachen Serverblock einrichten
Verwenden Sie den folgenden Befehl, um eine neue Serverblockdatei für unsere Test-Website zu erstellen:
sudo vi /etc/nginx/sites-available/example.com
Dies sollte den Vi-Texteditor starten und eine neue Serverblockdatei erstellen.
Geben Sie folgende Zeilen in die Textdatei ein:
server {
listen 80;
root /var/www/example;
index index.html;
server_name www.example.com;
}
Dies weist Nginx an, sich /var/www/example anzusehen Verzeichnis für die bereitzustellenden Dateien und um die von uns erstellte index.html-Datei als Startseite für die Website zu verwenden.
Speichern Sie die Datei und beenden Sie sie.
Erstellen Sie einen symbolischen Link, um die Serversperre zu aktivieren
Geben Sie im Terminalfenster den folgenden Befehl ein:
sudo ln –s /s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled
Dadurch wird ein Link erstellt und Ihre Test-Website in Nginx aktiviert. Starten Sie den Nginx-Dienst neu, um die Änderungen zu übernehmen:
sudo systemctl restart nginx
Test starten
Besuchen Sie in einem Browserfenster www.example.com.
Nginx sollte die Anfrage abfangen und den Text anzeigen, den wir in die HTML-Datei eingegeben haben.