Nginx

So installieren Sie Nginx und konfigurieren es unter CentOS 8

So installieren Sie Nginx und konfigurieren es unter CentOS 8
Nginx ist ein schneller und leichter Webserver. Die Konfigurationsdateien von Nginx sind wirklich einfach und leicht zu handhaben. Es ist eine großartige Alternative zum Apache-Webserver.  In diesem Artikel zeige ich Ihnen, wie Sie den Nginx-Webserver auf CentOS 8 installieren und konfigurieren. Also lasst uns anfangen.

Nginx installieren:

Nginx ist im offiziellen Paket-Repository von CentOS 8 verfügbar. Es ist also sehr einfach zu installieren.

Aktualisieren Sie zunächst den DNF-Paket-Repository-Cache wie folgt:

$ sudo dnf makecache

Installieren Sie nun Nginx mit dem folgenden Befehl:

$ sudo dnf installiere nginx

Um die Installation zu bestätigen, drücken Sie Ja und drücke dann .

Nginx sollte installiert sein.

Verwalten des nginx-Dienstes:

Standardmäßig, nginx Service sollte sein inaktiv (läuft nicht) und deaktiviert (Startet nicht automatisch beim Booten).

$ sudo systemctl status nginx

Sie können starten nginx Dienst wie folgt:

$ sudo systemctl starte nginx

nginx Service sollte sein Laufen.

$ sudo systemctl status nginx

Jetzt füge hinzu nginx Service zum Systemstart wie folgt:

$ sudo systemctl aktivieren nginx

Konfigurieren der Firewall:

Sie müssen die Firewall so konfigurieren, dass sie den Zugriff auf den HTTP-Port 80 und den HTTPS-Port 443 erlaubt, um von anderen Computern im Netzwerk auf den Nginx-Webserver zugreifen zu können.

Sie können den Zugriff auf den HTTP- und HTTPS-Port mit dem folgenden Befehl erlauben:

$ sudo Firewall-cmd --add-service=http,https --permanent

Führen Sie nun den folgenden Befehl aus, damit die Änderungen wirksam werden:

$ sudo Firewall-cmd --reload

Testen des Webservers:

Sie müssen die IP-Adresse oder den Domänennamen des Nginx-Webservers kennen, um darauf zugreifen zu können.

Die IP-Adresse Ihres Nginx-Webservers finden Sie mit folgendem Befehl:

$ ip a

In meinem Fall lautet die IP-Adresse 192.168.20.175. Bei dir wird es anders sein. Stellen Sie also sicher, dass Sie es von nun an durch Ihres ersetzen.

Besuchen Sie jetzt http://192.168.20.175 von Ihrem Webbrowser. Sie sollten die folgende Seite sehen. Es bedeutet, dass der Nginx-Webserver funktioniert.

Konfigurationsdateien von nginx:

Die Konfigurationsdateien des Nginx-Webservers befinden sich im /etc/nginx/ Verzeichnis.

$ Baum /etc/nginx

/etc/nginx/nginx.conf ist die Hauptkonfigurationsdatei von Nginx.

Das Standard-Web-Root-Verzeichnis des Nginx-Webservers ist /usr/share/nginx/html/. Hier sollten Sie also Ihre Website-Dateien aufbewahren.

Einrichten eines einfachen Webservers:

In diesem Abschnitt zeige ich Ihnen, wie Sie einen einfachen Nginx-Webserver einrichten.

Erstellen Sie zunächst eine Sicherung der ursprünglichen Nginx-Konfigurationsdatei mit dem folgenden Befehl:

$ sudo mv -v /etc/nginx/nginx.conf /etc/nginx/nginx.conf.Original

Erstellen Sie nun wie folgt eine neue Nginx-Konfigurationsdatei:

$ sudo nano /etc/nginx/nginx.conf

Geben Sie nun die folgenden Zeilen in die ein /etc/nginx/nginx.conf Datei und speichern Sie die Datei.

Benutzer nginx nginx;
worker_processes auto;
error_log /var/log/nginx/error.Log;
pid /run/nginx.pid;
 
Veranstaltungen
Arbeiter_Verbindungen 1024;

 
http
einschließen             /etc/nginx/mime.Typen;
default_type        application/octet-stream;
 
Server
zuhören          80;
server_name     Beispiel.com www.Beispiel.com;
root            /usr/share/nginx/html;
index           index.html;
access_log      /var/log/nginx/access.Log;

Hier, Benutzer Option wird verwendet, um den Nginx Run-Benutzer und die Gruppe auf nginx beziehungsweise.

Das Fehlerprotokoll Option wird verwendet, um den Pfad der Fehlerprotokolldatei auf /var/log/nginx/error.Log. Hier werden Fehler im Zusammenhang mit dem Nginx-Server gespeichert.

Die Hauptkonfiguration des Nginx-Servers ist in der Server Abschnitt innerhalb der http Sektion. Sie können mehrere definieren Server Abschnitt innerhalb der http Abschnitt bei Bedarf.

In dem Server Sektion,

Hör mal zu Option wird verwendet, um Nginx so zu konfigurieren, dass Port 80 (HTTP-Port) für Webanfragen überwacht wird.

Servername Option wird verwendet, um einen oder mehrere Domainnamen für den Nginx-Webserver festzulegen. Wenn Ihre DNS-Einstellungen korrekt sind, können Sie mit diesen Domainnamen auf den Nginx-Webserver zugreifen.

access_log wird verwendet, um den Pfad der Zugriffsprotokolldatei auf /var/log/nginx/access.Log. Wenn jemand versucht, auf den Nginx-Webserver zuzugreifen, werden die Zugriffsinformationen (i.e. IP-Adresse, URL, HTTP-Statuscode) werden in dieser Datei protokolliert.

Das Lage Option wird verwendet, um das Stammverzeichnis des Nginx-Webservers festzulegen.

Hier die Wurzel Verzeichnis ist /usr/share/nginx/html/.

Hier sollten alle Website-Dateien gespeichert werden. Das Index Optionssätze Index.html als Standarddatei, die bereitgestellt wird, wenn keine bestimmte Datei angefordert wird. Wenn Sie beispielsweise http://192 . besuchen.168.20.175/meine Datei.html , dann wird Nginx zurückkehren meine Datei.html Datei. Aber wenn Sie http://192 . besuchen.168.20.175/, dann schickt dir Nginx einen Index.html-Datei, da keine bestimmte Datei angefordert wurde.

Entfernen Sie nun alle Dateien aus dem /usr/share/nginx/html/ Verzeichnis (Web-Root) wie folgt:

$ sudo rm -rfv /usr/share/nginx/html/*

Erstellen Sie nun ein neues Index.html Datei in der /usr/share/nginx/html/ Verzeichnis wie folgt:

Geben Sie nun die folgenden Zeilen in . ein Index.html Datei und speichern Sie die Datei.

Hallo Welt


© 2020 LinuxHint.com

Jetzt neu starten nginx Dienst wie folgt:

$ sudo systemctl nginx neu starten

Besuchen Sie jetzt http://192.168.20.175 von Ihrem Webbrowser und Sie sollten die folgende Seite sehen. Glückwunsch! Sie haben Ihren ersten Nginx-Webserver eingerichtet.

Fehlerseiten konfigurieren:

Sie können Fehlerseiten in Nginx konfigurieren. Wenn beispielsweise eine Seite/eine Datei/ein Verzeichnis nicht verfügbar ist, wird der HTTP-Statuscode 404 an den Browser zurückgegeben. Sie können eine benutzerdefinierte HTML-Fehlerseite für den HTTP-Statuscode 404 festlegen, der an den Browser zurückgegeben wird.

Fügen Sie dazu die folgende Zeile in die Server Abschnitt von nginx.conf Datei.

Server

error_page 404 /404.html;

Erstellen Sie nun eine Datei 404.html im Nginx-Web-Root /usr/share/nginx/html/ wie folgt:

$ sudo nano /usr/share/nginx/html/404.html

Geben Sie nun die folgenden Zeilen in . ein 404.html und speichere die Datei.

Fehler 404


Seite nicht gefunden


© 2020 LinuxHint.com

Jetzt neu starten nginx Dienst wie folgt:

$ sudo systemctl nginx neu starten

Versuchen Sie nun, auf einen nicht vorhandenen Pfad zuzugreifen (http://192.168.20.175/nopage.html) und Sie sollten die folgende Fehlerseite sehen.

Wenn die 404.html Datei befindet sich in einem anderen Dateisystempfad (sagen wir /usr/share/nginx/html/errors/ Verzeichnis), können Sie die URL zuordnen /404.html dazu wie folgt:

Server

error_page 404 /404.html;
Standort /404.html
root            /usr/share/nginx/html/errors;


Erstellen Sie nun ein neues Verzeichnis  /usr/share/nginx/html/errors/ wie folgt:

$ sudo mkdir /usr/share/nginx/html/errors

Erstellen Sie nun eine neue Datei 404.html im  Verzeichnis /usr/share/nginx/html/errors/ wie folgt:

$ sudo nano /usr/share/nginx/html/errors/404.html

Geben Sie nun die folgenden Zeilen in die ein 404.html Datei und speichern Sie die Datei.

SEITE NICHT GEFUNDEN


WIEDER NACH HAUSE GEHEN

Jetzt neu starten nginx Dienst wie folgt:

$ sudo systemctl nginx neu starten

Versuchen Sie nun, auf einen nicht vorhandenen Pfad zuzugreifen (http://192.168.20.175/nopage.html) und Sie sollten die aktualisierte Fehlerseite sehen.

Auf die gleiche Weise können Sie die Fehlerseite für andere HTTP-Statuscodes festlegen.

Sie können auch dieselbe Fehlerseite für mehrere HTTP-Statuscodes festlegen. Zum Beispiel, um dieselbe Fehlerseite einzustellen /404.html für die HTTP-Statuscodes 403 und 404, Schreiben Sie die Fehlerseite Möglichkeit wie folgt:

error_page    403 404    /404.html;

Protokolle konfigurieren:

In Nginx ist die Fehlerprotokoll und access_log Optionen werden zum Protokollieren von Fehlermeldungen und Zugriffsinformationen verwendet.

Das Format der Fehlerprotokoll und access_log Optionen sind:

error_log /path/to/error/log/file [optional:benutzerdefinierter-log-name];
access_log /path/to/access/log/file [optional:benutzerdefinierter-log-name];

Sie können Ihr eigenes Fehlerprotokoll definieren und auf Protokollformate zugreifen, wenn Sie möchten.

Verwenden Sie dazu die log_format Option in der http Abschnitt, um Ihr benutzerdefiniertes Protokollformat wie folgt zu definieren.

http

log_format einfach      '[$time_iso8601] $request_method $request_uri '
'[$status] ($request_time) -> $bytes_gesendete Bytes';

Server

access_log /var/log/nginx/access.einfach anmelden;


Hier lautet der Name des Protokollformats einfach. Einige nginx-Variablen werden verwendet, um das benutzerdefinierte Protokollformat zu definieren. Besuchen Sie das Handbuch für eingebettete Nginx-Variablen, um mehr über alle Nginx-Variablen zu erfahren.

Das benutzerdefinierte Protokollformat sollte in einfache Anführungszeichen eingeschlossen werden. Das Protokollformat kann einzeilig oder mehrzeilig definiert werden. Ich habe in diesem Artikel gezeigt, wie Sie das Protokollformat in mehreren Zeilen definieren define. Sie werden keine Probleme mit dem einzeiligen Protokollformat haben, vertrauen Sie mir!

Sobald das Protokollformat einfach ist definiert, access_log Option wird verwendet, um Nginx anzuweisen, sie als Zugriffsprotokoll zu verwenden.

Auf die gleiche Weise können Sie ein benutzerdefiniertes Fehlerprotokollformat mit dem Fehlerprotokoll Möglichkeit.

Ich habe in diesem Artikel nur ein benutzerdefiniertes Protokollformat für das Zugriffsprotokoll konfiguriert.

Jetzt neu starten nginx Dienst wie folgt:

$ sudo systemctl nginx neu starten

Nun können Sie die Zugriffsprotokolldatei wie folgt überwachen:

$ sudo tail -f /var/log/nginx/access.Log

Sie können die Fehlerprotokolldatei auch wie folgt überwachen:

$ sudo tail -f /var/log/nginx/error.Log

Wenn Sie möchten, können Sie die Zugriffsprotokoll- und Fehlerprotokolldateien gleichzeitig wie folgt überwachen:

$ sudo tail -f /var/log/nginx/error,access.Log

Wie Sie sehen, wird das neue Zugriffsprotokollformat verwendet.

Zugriff auf bestimmte Pfade verweigern:

Sie können reguläre Ausdrücke verwenden, um bestimmte URI-Pfade abzugleichen und den Zugriff darauf in Nginx zu verweigern.

Nehmen wir an, Ihre Website wird von Git verwaltet und Sie möchten den Zugriff auf die .git/ Verzeichnis in Ihrem Web-Root.

Geben Sie dazu die folgenden Zeilen in die Server Abschnitt von /etc/nging/nginx.conf Datei:

Server

Standort ~ \.git
alles leugnen;


Wie Sie sehen, können Sie auf jeden Pfad zugreifen, der enthält .git ist abgelehnt.

Komprimierung konfigurieren:

Sie können Webinhalte komprimieren, bevor Sie sie mit an den Browser senden gzip um die Bandbreitennutzung des Nginx-Webservers zu sparen.

Ich habe einige JPEG-Bilder in der /usr/share/nginx/html/images/ Verzeichnis.

Ich kann auf diese Bilder über den URI-Pfad zugreifen /Bilder.

So aktivieren Sie die gzip-Komprimierung nur für die JPEG-Bilder im URI-Pfad /Bilder, Geben Sie die folgenden Zeilen in die ein Server Abschnitt von /etc/nginx/nginx.conf Datei.

Server

Standort / Bilder
gzip an;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types-Bild/jpeg;


Hier, gzip_comp_level wird verwendet, um die Kompressionsstufe einzustellen. Es kann eine beliebige Zahl von 1 bis 9 sein. Je höher die Stufe, desto kleiner wird die komprimierte Datei.

Die Datei wird nur komprimiert, wenn die Dateigröße größer ist gzip_min_length. Ich habe es in diesem Beispiel auf etwa 100 KB eingestellt. JPEG-Dateien, die kleiner als 100 KB sind, werden also nicht mit gzip komprimiert.

Das  gzip_types wird verwendet, um den Mime-Typ der Dateien einzustellen, die komprimiert werden.

Sie können den Mime-Typ von Dateierweiterungen wie folgt finden:

$ grep jpg /etc/nginx/mime.Typen

Wie Sie sehen können, für .jpg oder .jpeg Dateierweiterung, der Mime-Typ ist Bild/jpeg.

Mit . können Sie einen oder mehrere Pantomime-Typen einstellen gzip_types Möglichkeit.

Wenn Sie mehrere Mime-Typen festlegen möchten, trennen Sie diese wie folgt durch Leerzeichen:

"
gzip_types-Bild/jpeg-Bild/png-Bild/gif;

Jetzt neu starten nginx Dienst wie folgt:

$ sudo systemctl nginx neu starten

Wie Sie sehen, sendet Nginx auf Anfrage gzip-komprimierte Bilddateien an den Browser.

Wie Sie im Screenshot unten sehen können, ist die komprimierte gzip-Datei kleiner als die Originaldatei.

$ sudo tail -f /var/log/nginx/access.Log

HTTPS aktivieren:

Sie können SSL in Nginx sehr einfach aktivieren. In diesem Abschnitt zeige ich Ihnen, wie Sie ein selbstsigniertes SSL-Zertifikat in Nginx einrichten.

Navigieren Sie zuerst zum /etc/ssl/ Verzeichnis wie folgt:

$ cd /etc/ssl

Generieren Sie nun einen SSL-Schlüssel Server.Schlüssel und Zertifikat Server.crt mit folgendem Befehl:

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout
Server.Key-Out-Server.crt

HINWEIS: Du musst haben öffnetsl installiert damit das funktioniert. Wenn der Befehl openssl nicht verfügbar ist, installieren Sie öffnetsl mit folgendem Befehl:

$ sudo dnf install openssl  -y

Geben Sie nun Ihren zweibuchstabigen Ländercode ein (i.e. US für USA, UK für Großbritannien, RU für Russland, CN für China) und drücken Sie .

Geben Sie nun Ihren Bundesstaat/Provinznamen ein und drücken Sie .

Geben Sie nun Ihren Stadtnamen ein und drücken Sie .

Geben Sie nun Ihren Firmennamen ein und drücken Sie .

Geben Sie nun den Namen der Organisationseinheit Ihres Unternehmens ein, das dieses Zertifikat verwendet, und drücken Sie .

Geben Sie nun den vollqualifizierten Domänennamen (FQDN) Ihres Nginx-Webservers ein und drücken Sie . Das SSL-Zertifikat ist nur gültig, wenn auf den Nginx-Webserver mit diesem Domainnamen zugegriffen wird.

Geben Sie nun Ihre E-Mail-Adresse ein und drücken Sie .

Ihr SSL-Zertifikat sollte bereit sein.

Das SSL-Zertifikat und der Schlüssel sollten im /etc/ssl/ Verzeichnis.

$ ls -lh

Öffnen Sie nun die Nginx-Konfigurationsdatei /etc/nginx/nginx.conf und ändern Hör mal zu port nach 443 und geben Sie die folgenden Zeilen in die . ein Server Sektion.

Server

ssl an;
ssl_zertifikat /etc/ssl/server.crt;
ssl_certificate_key /etc/ssl/server.Schlüssel;

Jetzt neu starten nginx Dienst wie folgt:

$ sudo systemctl nginx neu starten

Im wirklichen Leben haben Sie die richtige DNS-Einrichtung. Aber zu Testzwecken habe ich einen lokalen dateibasierten Domänennamen auf dem Computer konfiguriert, von dem aus ich auf den Nginx-Webserver zugegriffen habe.

Wenn Sie mitmachen möchten, öffnen Sie die /etc/hosts Datei wie folgt:

$ sudo nano /etc/hosts

Fügen Sie dann die folgende Zeile zum /etc/hosts Datei.

192.168.20.175 www.Beispiel.com

Versuchen Sie nun, https://www . zu besuchen.Beispiel.com und Sie sollten die folgende Seite sehen. Du wirst sehen Ihre Verbindung ist nicht sicher Nachricht, weil es sich um ein selbstsigniertes Zertifikat handelt. Dies ist nur für Testzwecke gut.

Im wirklichen Leben kaufen Sie SSL-Zertifikate von Zertifizierungsstellen (CAs) und verwenden sie use. Sie werden diese Art von Nachricht also nicht sehen.

Wie Sie sehen können, hat Nginx die Webseite über HTTPS bereitgestellt. SSL funktioniert also.

Die SSL-Informationen von www.Beispiel.com.

Umleiten von HTTP-Anfragen an HTTPS:

Wenn jemand Ihre Website über das HTTP-Protokoll (http://www.Beispiel.com oder http://192.168.20.175) statt HTTPS (https://www.Beispiel.com), möchten Sie die HTTP-Anfrage nicht ablehnen. Wenn Sie das tun, verlieren Sie einen Besucher. Was Sie wirklich tun sollten, ist, den Benutzer auf die SSL-fähige Site umzuleiten. Es ist wirklich einfach zu tun.

Öffnen Sie zuerst die Nginx-Konfigurationsdatei /etc/nginx/nginx.conf und erstelle ein neues Server Abschnitt innerhalb der http Abschnitt wie folgt:

http

Server
hören 80;
Servername www.Beispiel.com;
zurück 301 https://www.Beispiel.com$request_uri;


Das ist das Finale /etc/nginx/nginx.conf Datei:

Benutzer nginx nginx;
worker_processes auto;
error_log /var/log/nginx/error.Log;
pid /run/nginx.pid;
Veranstaltungen
Arbeiter_Verbindungen 1024;

http
einschließen             /etc/nginx/mime.Typen;
default_type        application/octet-stream;
log_format einfach   '[$time_iso8601] $request_method $request_uri '
'[$status] ($request_time) -> $bytes_gesendete Bytes';
 
Server
hören 80;
Servername www.Beispiel.com;
zurück 301 https://www.Beispiel.com$request_uri;

Server
zuhören          443;
Servername     www.Beispiel.com;
ssl an;
ssl_zertifikat /etc/ssl/server.crt;
ssl_certificate_key /etc/ssl/server.Schlüssel;
access_log      /var/log/nginx/access.einfach anmelden;
Lage /
root            /usr/share/nginx/html;
index           index.html;

Standort / Bilder
gzip an;
gzip_comp_level 9;
gzip_min_length 100000;
gzip_types-Bild/jpeg;

error_page 404 /404.html;
Standort /404.html
root            /usr/share/nginx/html/errors;

Standort ~ \.git
alles leugnen;


Jetzt neu starten nginx Dienst wie folgt:

$ sudo systemctl nginx neu starten

Wenn Sie nun versuchen, auf http://192 . zuzugreifen.168.20.175 oder http://www.Beispiel.com, werden Sie auf https://www . weitergeleitet.Beispiel.com.

So installieren und konfigurieren Sie den Nginx-Webserver auf CentOS 8. Danke, dass du diesen Artikel gelesen hast.

Die 5 besten Arcade-Spiele für Linux
Heutzutage sind Computer ernsthafte Maschinen, die zum Spielen verwendet werden. Wenn du den neuen Highscore nicht bekommst, weißt du was ich meine. I...
Schlacht um Wesnoth 1.13.6 Entwicklung veröffentlicht
Schlacht um Wesnoth 1.13.6, das letzten Monat veröffentlicht wurde, ist die sechste Entwicklungsversion im 1.13.x-Serie und bietet eine Reihe von Verb...
So installieren Sie League of Legends auf Ubuntu 14.04
Wenn Sie ein Fan von League of Legends sind, dann ist dies eine Gelegenheit für Sie, League of Legends zu testen. Beachten Sie, dass LOL von PlayOnLin...