Nginx, ausgesprochen „Engine x“, ist ein Open-Source-Hochleistungs-HTTP- und Reverse-Proxy-Server, der für die Verarbeitung der Last einiger der größten Websites im Internet verantwortlich ist. Es kann als eigenständiger Webserver, Load Balancer, Inhaltscache und Reverse-Proxy für HTTP- und Nicht-HTTP-Server verwendet werden.
Im Vergleich zu Apache kann Nginx eine viel größere Anzahl gleichzeitiger Verbindungen verarbeiten und hat einen geringeren Speicherbedarf pro Verbindung.
Dieses Tutorial erklärt, wie Nginx unter CentOS 8 installiert und verwaltet wird.
Voraussetzungen #
Bevor Sie fortfahren, vergewissern Sie sich, dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind und dass Apache oder andere Prozesse nicht auf Port 80 oder 443 ausgeführt werden.
Nginx unter CentOS 8 installieren #
Ab CentOS 8 ist das Nginx-Paket in den standardmäßigen CentOS-Repositories verfügbar.
Die Installation von Nginx unter CentOS 8 ist so einfach wie die Eingabe von:
sudo yum install nginx
Sobald die Installation abgeschlossen ist, aktivieren und starten Sie den Nginx-Dienst mit:
sudo systemctl enable nginx
sudo systemctl start nginx
Um zu überprüfen, ob der Dienst ausgeführt wird, prüfen Sie seinen Status:
sudo systemctl status nginx
Die Ausgabe sollte in etwa so aussehen:
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2019-10-06 18:35:55 UTC; 17min ago
...
Firewall anpassen #
FirewallDist die Standard-Firewall-Lösung auf Centos 8.
Während der Installation erstellt Nginx eine Firewalld-Dienstdatei mit vordefinierten Regeln zum Zulassen des Zugriffs auf HTTP (80
) und HTTPS (443
) Ports.
Verwenden Sie die folgenden Befehle, um die erforderlichen Ports dauerhaft zu öffnen:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Jetzt können Sie Ihre Nginx-Installation testen, indem Sie http://YOUR_IP
öffnen in Ihrem Webbrowser. Sie sollten die standardmäßige Nginx-Willkommensseite sehen, die wie im folgenden Bild aussehen sollte:
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
. - Das Erstellen einer separaten Konfigurationsdatei für jede Domain erleichtert die Wartung des Servers.
- Die Blockdateien des Nginx-Servers müssen mit
.conf
enden und in/etc/nginx/conf.d
gespeichert werden Verzeichnis. Sie können so viele Serverblöcke haben, wie Sie möchten. - Es empfiehlt sich, einer Standard-Namenskonvention zu folgen. Beispiel:Der Domänenname lautet
mydomain.com
dann sollte die Konfigurationsdateimydomain.com.conf
heißen - Wenn Sie wiederholbare Konfigurationssegmente in Ihren Domänenserverblöcken verwenden, empfiehlt es sich, diese Segmente in Snippets umzugestalten.
- 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>
/usr/share/nginx/html