Nginx ist ein leistungsstarker Open-Source-HTTP- und Reverse-Proxy-Server, 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.
Nginx kann als eigenständiger Webserver und als Reverse-Proxy für HTTP- und Nicht-HTTP-Server verwendet werden.
In diesem Tutorial erklären wir, wie man Nginx auf Debian 10 Buster installiert und verwaltet.
Installieren Sie Nginx #
Das Nginx-Paket ist in den standardmäßigen Debian Buster-Repositories enthalten. Die Installation ist ziemlich einfach, führen Sie einfach die folgenden Befehle als Root oder Benutzer mit sudo-Berechtigungen aus:
sudo apt update
sudo apt install nginx
Der Nginx-Dienst wird automatisch gestartet, nachdem der Installationsvorgang abgeschlossen ist. Sie können dies mit curl
überprüfen wie unten gezeigt:
curl -I 127.0.0.1
Die Ausgabe sieht etwa so aus:
HTTP/1.1 200 OK
Server: nginx/1.14.2
Date: Tue, 16 Jul 2019 16:50:46 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 16 Jul 2019 16:50:26 GMT
Connection: keep-alive
ETag: "5d2e0052-264"
Accept-Ranges: bytes
Sie können das systemctl
verwenden Befehl zum Verwalten des Nginx-Dienstes, genau wie jede andere systemd-Einheit.
Passen Sie die Firewall # an
UFW-Benutzer können HTTP (80
) und HTTPS (443
)-Ports, indem Sie das Profil „Nginx Full“ aktivieren:
sudo ufw allow 'Nginx Full'
Wenn Sie nftables verwenden, um Verbindungen zu Ihrem System zu filtern, öffnen Sie die erforderlichen Ports, indem Sie den folgenden Befehl ausführen:
nft add rule inet filter input tcp dport {80, 443} ct state new,established counter accept
Struktur und Best Practices der Nginx-Konfigurationsdatei #
- Nginx-Konfigurationsdateien werden in
/etc/nginx
gespeichert Verzeichnis. - Die Hauptkonfigurationsdatei von Nginx ist
/etc/nginx/nginx.conf
. - Serverblock-(vhost)-Konfigurationsdateien werden in
/etc/nginx/sites-available
gespeichert Verzeichnis. Die in diesem Verzeichnis gefundenen Konfigurationsdateien werden von Nginx nur verwendet, wenn sie mit/etc/nginx/sites-enabled
verknüpft sind Verzeichnis. - Um einen Serverblock zu aktivieren, erstellen Sie einen Symlink (einen Zeiger) aus der Konfigurationsdatei in einem
sites-available
Verzeichnis zusites-enabled
Verzeichnis. - Um besser wartbaren Code zu schreiben, ist es eine gute Idee, einer Standard-Namenskonvention zu folgen. Beispiel:Ihr Domänenname ist
mydomain.com
dann sollte die 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>