Nginx, ausgesprochen „Engine x“, ist ein kostenloser, leistungsstarker Open-Source-HTTP- und Reverse-Proxyserver, der einige der größten Websites im Internet betreibt.
Im Vergleich zu Apache kann Nginx eine viel größere Anzahl gleichzeitiger Verbindungen verarbeiten und hat einen geringeren Speicherbedarf pro Verbindung.
In diesem Tutorial besprechen wir, wie Nginx auf Ubuntu 16.04-Systemen installiert und verwaltet wird.
Voraussetzungen #
Bevor Sie mit dem Tutorial beginnen, vergewissern Sie sich, dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind und Apache oder andere Dienste nicht auf Port 80 oder 443 ausgeführt werden.
Installieren Sie Nginx #
Nginx-Pakete sind in Ubuntu-Standard-Software-Repositories verfügbar. Die Installation ist ziemlich einfach, führen Sie einfach die folgenden Befehle aus:
sudo apt update
sudo apt install nginx
Überprüfen Sie nach Abschluss der Installation den Status des Nginx-Dienstes, indem Sie Folgendes eingeben:
sudo systemctl status nginx
Die Ausgabe sollte Ihnen zeigen, dass der Nginx-Dienst aktiv ist und ausgeführt wird:
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2018-01-05 15:44:04 UTC; 1min 59s ago
Main PID: 1291 (nginx)
CGroup: /system.slice/nginx.service
├─1291 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
└─1293 nginx: worker process
Um die Nginx-Version zu überprüfen, geben Sie Folgendes ein:
sudo nginx -v
nginx version: nginx/1.10.3 (Ubuntu)
Passen Sie die Firewall # an
Angenommen, Sie verwenden UFW
Um Ihre Firewall zu verwalten, müssen Sie HTTP (80
) und HTTPS (443
) Ports.
Sie können dies tun, indem Sie das Profil „Nginx Full“ aktivieren, das Regeln für beide Ports enthält:
sudo ufw allow 'Nginx Full'
Geben Sie Folgendes ein, um den Firewall-Status zu überprüfen:
sudo ufw status
Die Ausgabe sieht in etwa so aus:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Nginx Full ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
Testen Sie die Installation #
Um zu überprüfen, ob Nginx wie erwartet funktioniert, öffnen Sie http://YOUR_IP
in Ihrem Browser Ihrer Wahl, und Sie erhalten die Standard-Nginx-Willkommensseite wie unten gezeigt:
Installieren Sie Nginx aus dem Nginx PPA-Repository #
Die Nginx-Pakete aus den Ubuntu-Repositories sind oft veraltet. Um die neueste Nginx-Version zu installieren, verwenden Sie das offizielle Nginx PPA-Repository.
Führen Sie die folgenden Schritte aus, um die neueste Version von Nginx auf Ubuntu 16.04 zu installieren:
-
Installieren Sie zuerst
software-properties-common
Paket:sudo apt install software-properties-common
-
Fügen Sie das Nginx PPA-Repository mit dem folgenden Befehl hinzu:
sudo add-apt-repository ppa:nginx/stable
-
Aktualisieren Sie die Paketliste und installieren Sie Nginx:
sudo apt update
sudo apt install nginx
-
Überprüfen Sie nach Abschluss der Installation die Nginx-Version mit:
sudo nginx -v
Die Ausgabe sieht in etwa so aus:
nginx version: nginx/1.12.2
Verwalten Sie den Nginx-Dienst mit systemctl #
Sie können den Nginx-Dienst genauso verwalten wie jede andere systemd-Einheit.
-
Um den Nginx-Dienst zu stoppen, führen Sie Folgendes aus:
sudo systemctl stop nginx
-
Um den Nginx-Dienst zu starten, geben Sie Folgendes ein:
sudo systemctl start nginx
-
Starten Sie den Nginx-Dienst neu:
sudo systemctl restart nginx
-
Laden Sie den Nginx-Dienst neu, nachdem Sie einige Konfigurationsänderungen vorgenommen haben:
sudo systemctl reload nginx
-
Deaktivieren Sie den Nginx-Dienst, um beim Booten zu starten:
sudo systemctl disable nginx
-
Aktivieren Sie den Nginx-Dienst erneut, um beim Booten erneut zu starten:
sudo systemctl enable nginx
Struktur und Best Practices der Nginx-Konfigurationsdatei #
- Alle Nginx-Konfigurationsdateien befinden sich in
/etc/nginx/
Verzeichnis. - Die Hauptkonfigurationsdatei von Nginx ist
/etc/nginx/nginx.conf
. - Um die Wartung der Nginx-Konfiguration zu vereinfachen, wird empfohlen, für jede Domäne eine separate Konfigurationsdatei zu erstellen. Sie können so viele Serverblockdateien haben, wie Sie benötigen.
- Nginx-Server-Blockdateien werden in
/etc/nginx/sites-available
gespeichert Verzeichnis. Die in diesem Verzeichnis gefundenen Konfigurationsdateien werden von Nginx nicht verwendet, es sei denn, sie sind mit/etc/nginx/sites-enabled
verknüpft Verzeichnis. - Um einen Serverblock zu aktivieren, müssen Sie einen Symlink (einen Zeiger) aus der Konfigurationsdatei sites in einem
sites-available
erstellen Verzeichnis zusites-enabled
Verzeichnis. - Es ist eine gute Idee, einer Standard-Namenskonvention zu folgen, beispielsweise wenn Ihr Domänenname
mydomain.com
ist dann sollte Ihre Konfigurationsdatei/etc/nginx/sites-available/mydomain.com.conf
heißen - Der
/etc/nginx/snippets
Das Verzeichnis enthält Konfigurationsausschnitte, die in die Server-Blockdateien aufgenommen werden können. Wenn Sie wiederholbare Konfigurationssegmente verwenden, können Sie diese Segmente in Snippets umgestalten und die Snippet-Datei in die Serverblöcke einfügen. - Nginx-Protokolldateien (
access.log
underror.log
) befinden sich im/var/log/nginx/
Verzeichnis. Es wird empfohlen, einen anderenaccess
zu haben underror
Protokolldateien für jeden Serverblock. - Sie können das Root-Verzeichnis Ihrer Domänendokumente auf einen beliebigen Speicherort festlegen. Die häufigsten Speicherorte für Webroot sind:
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>