Nginx ist ein leistungsstarker Open-Source-HTTP- und Reverse-Proxy-Server, der einige der größten Websites im Internet betreibt.
Nginx kann als eigenständiger Webserver und als Reverse-Proxy für Apache und andere Webserver 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 beschreibt die Schritte zum Installieren und Verwalten von Nginx auf einem Debian-Rechner.
Voraussetzungen #
Bevor Sie mit dem Tutorial beginnen, vergewissern Sie sich, dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind.
Installieren Sie Nginx #
Die Installation ist ziemlich einfach. Führen Sie die folgenden Schritte aus, um Nginx auf Ihrem Debian-System zu installieren:
-
Aktualisieren Sie den Paketindex:
sudo apt update -
Installieren Sie das Nginx-Paket:
sudo apt install nginx -
Der Nginx-Dienst wird automatisch gestartet, nachdem der Installationsvorgang abgeschlossen ist. Sie können dies überprüfen, indem Sie den folgenden
curlausführen Befehl:curl -I 127.0.0.1HTTP/1.1 200 OK Server: nginx/1.10.3 Date: Mon, 27 Aug 2018 22:29:02 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Mon, 27 Aug 2018 22:27:54 GMT Connection: keep-alive ETag: "5b847aea-264" Accept-Ranges: bytes
Passen Sie die Firewall # an
Wenn Sie iptables verwenden, um Verbindungen zu Ihrem System zu filtern, müssen Sie HTTP (80 ) und HTTPS (443 ) Ports.
Öffnen Sie die erforderlichen Ports, indem Sie den folgenden Befehl ausführen:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPTsudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Verwalten Sie den Nginx-Dienst mit systemctl #
Sie können das systemctl verwenden Befehl zum Verwalten des Nginx-Dienstes, genau wie jede andere systemd-Einheit.
Um den Nginx-Dienst zu stoppen, führen Sie Folgendes aus:
sudo systemctl stop nginx Geben Sie zum erneuten Starten Folgendes ein:
sudo systemctl start nginx So 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 Und um es wieder zu aktivieren:
sudo systemctl enable nginx Struktur und Best Practices der Nginx-Konfigurationsdatei #
- Nginx-Konfigurationsdateien werden in
/etc/nginxgespeichert Verzeichnis. - Die Hauptkonfigurationsdatei von Nginx ist
/etc/nginx/nginx.conf. - Serverblock-(vhost)-Konfigurationsdateien werden in
/etc/nginx/sites-availablegespeichert Verzeichnis. Die in diesem Verzeichnis gefundenen Konfigurationsdateien werden von Nginx nicht verwendet, es sei denn, sie sind mit/etc/nginx/sites-enabledverknüpft Verzeichnis. - Das Aktivieren von Serverblöcken erfolgt durch Erstellen eines Symlinks (eines Zeigers) aus der Konfigurationsdatei sites in einem
sites-availableVerzeichnis zusites-enabledVerzeichnis. - Um besser wartbaren Code zu schreiben, ist es eine gute Idee, einer Standard-Namenskonvention zu folgen. Zum Beispiel, wenn Ihr Domainname
mydomain.comist dann sollte die Konfigurationsdatei/etc/nginx/sites-available/mydomain.com.confheißen . - Der
/etc/nginx/snippetsDas 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.logunderror.log) befinden sich im/var/log/nginx/Verzeichnis. Es wird empfohlen, einen anderenaccesszu haben underrorProtokolldateien 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>