Installieren von Nginx:
Nginx ist im offiziellen Paket -Repository von CentOS 8 erhältlich. 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 install nginx
Um die Installation zu bestätigen, drücken Sie Y und dann drücken Sie .
Nginx sollte installiert werden.
Verwalten des Nginx -Dienstes:
Standardmäßig, nginx Service sollte sein inaktiv (nicht rennen) und Behinderte (Starten Sie nicht automatisch mit dem Boot).
$ sudo systemctl Status nginx
Sie können die starten nginx Service wie folgt:
$ sudo systemctl starten nginx
nginx Service sollte sein Betrieb.
$ sudo systemctl Status nginx
Jetzt fügen Sie hinzu nginx Service zum Systemstart wie folgt:
$ sudo systemctl aktivieren nginx
Konfigurieren der Firewall:
Sie müssen die Firewall konfigurieren, um den Zugriff auf den HTTP -Port 80 und den HTTPS -Port 443 zu ermöglichen, um von anderen Computern im Netzwerk auf den NGINX -Webserver zuzugreifen.
Mit dem folgenden Befehl können Sie den Zugriff auf den HTTP- und HTTPS -Port zulassen:
$ sudo firewall-cmd --add-service = http, https --permanent
Führen Sie nun den folgenden Befehl aus, damit die Änderungen wirksam werden sollen:
$ sudo firewall-cmd-Reload
Testen des Webservers:
Sie müssen den IP -Adresse oder den Domänennamen des Nginx -Webservers kennen, um darauf zuzugreifen.
Sie finden die IP -Adresse Ihres NGINX -Webservers mit dem folgenden Befehl:
$ ip a
In meinem Fall lautet die IP -Adresse 192.168.20.175. Es wird für Sie anders sein. Stellen Sie also sicher, dass Sie es von nun an durch Ihre ersetzen.
Besuchen Sie nun http: // 192.168.20.175 aus Ihrem Webbrowser. Sie sollten die folgende Seite sehen. Dies bedeutet, dass Nginx Web Server funktioniert.
Konfigurationsdateien von Nginx:
Die Konfigurationsdateien von Nginx Web Server befinden sich in der /etc/nginx/ Verzeichnis.
$ tree /etc /nginx
/etc/nginx/nginx.Conf ist die Hauptnginx -Konfigurationsdatei.
Das Standard -Web -Root -Verzeichnis des NGINX -Webservers ist /usr/share/nginx/html/. Hier sollten Sie Ihre Website -Dateien aufbewahren.
Einrichten eines grundlegenden Webservers:
In diesem Abschnitt werde ich Ihnen zeigen, wie Sie einen grundlegenden Nginx -Webserver einrichten.
Nehmen 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 eine neue NGINX -Konfigurationsdatei wie folgt:
$ sudo nano/etc/nginx/nginx.Conf
Geben Sie nun die folgenden Zeilen in die /etc/nginx/nginx.Conf Datei und speichern Sie die Datei.
Benutzer nginx nginx;Hier, Benutzer Die Option wird verwendet, um den Nginx -Ausführungsbenutzer und die Gruppe auf festzulegen nginx bzw.
Der Fehlerprotokoll Die Option wird verwendet, um den Fehlerprotokolldateipfad auf festzulegen /var/log/nginx/fehler.Protokoll. Hier werden Fehler in Bezug auf den Nginx -Server gespeichert.
Die Hauptkonfiguration der NGINX -Server ist in der definiert Server Abschnitt in der http Abschnitt. Sie können mehr als einen definieren Server Abschnitt in der http Abschnitt bei Bedarf.
Im Server Abschnitt,
Hören Die Option wird verwendet, um NGINX so zu konfigurieren, dass Port 80 (HTTP -Port) für Webanforderungen anhört.
Servername Die 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 Domänennamen auf den NGINX -Webserver zugreifen.
Access_log wird verwendet, um den Pfad der Zugriffsprotokolldatei auf festzulegen /var/log/nginx/access.Protokoll. Wenn jemand versucht, auf den NGINX -Webserver zuzugreifen, haben die Zugriffsinformationen (i.e. IP -Adresse, URL, HTTP -Statuscode) wird in dieser Datei angemeldet.
Der Standort Die Option wird verwendet, um das Stammverzeichnis des Nginx -Webservers festzulegen.
Hier das Wurzel Verzeichnis ist /usr/share/nginx/html/.
Hier sollten alle Website -Dateien aufbewahrt werden. Der Index Optionssätze Index.html als Standarddatei zu dienen, wenn keine bestimmte Datei angefordert wird. Zum Beispiel, wenn Sie http: // 192 besuchen.168.20.175/myfile.HTML, dann kehren Sie Nginx zurück meine Datei.html Datei. Aber wenn Sie http: // 192 besuchen.168.20.175/dann sendet Nginx Ihnen den Index.Die HTML -Datei als keine bestimmte Datei wurde angefordert.
Entfernen Sie nun alle Dateien aus dem /usr/share/nginx/html/ Verzeichnis (Webroamm) wie folgt:
$ sudo rm -rfv/usr/share/nginx/html/*
Erstellen Sie nun eine neue Index.html Datei in der /usr/share/nginx/html/ Verzeichnis wie folgt:
Geben Sie nun die folgenden Zeilen ein Index.html Datei und speichern Sie die Datei.
© 2020 LinuxHint.com
Jetzt starten Sie neu nginx Service wie folgt:
$ sudo systemctl starten nginx neu
Besuchen Sie nun http: // 192.168.20.175 aus Ihrem Webbrowser und Sie sollten die folgende Seite sehen. Herzlichen Glückwunsch! Sie haben Ihren ersten Nginx -Webserver eingerichtet.
Sie können Fehlerseiten in Nginx konfigurieren. Wenn beispielsweise eine Seite/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 hinzu Server Abschnitt von nginx.Conf Datei.
ServerErstellen Sie nun eine Datei 404.html Im Nginx -Webrouch /usr/share/nginx/html/ folgendermaßen:
$ sudo nano/usr/share/nginx/html/404.html
Geben Sie nun die folgenden Zeilen ein 404.html und speichern Sie die Datei.
Seite nicht gefunden
© 2020 LinuxHint.com
Jetzt starten Sie neu nginx Service wie folgt:
$ sudo systemctl starten nginx neu
Versuchen Sie nun, auf einen nicht existierenden Weg zuzugreifen (http: // 192.168.20.175/Nopage.HTML) und Sie sollten die folgende Fehlerseite sehen.
Wenn der 404.html Die Datei befindet sich in einem anderen Dateisystempfad (sagen wir sagen /usr/share/nginx/html/fehler/ Verzeichnis) können Sie die URL abbilden /404.html dazu wie folgt:
ServerMachen Sie nun ein neues Verzeichnis /usr/share/nginx/html/fehler/ folgendermaßen:
$ sudo mkdir/usr/share/nginx/html/fehler
Erstellen Sie nun eine neue Datei 404.html im Verzeichnis /usr/share/nginx/html/fehler/ folgendermaßen:
$ sudo nano/usr/share/nginx/html/fehler/404.html
Geben Sie nun die folgenden Zeilen in die 404.html Datei und speichern Sie die Datei.
Jetzt starten Sie neu nginx Service wie folgt:
$ sudo systemctl starten nginx neu
Versuchen Sie nun, auf einen nicht existierenden Weg 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 dieselbe Fehlerseite auch für mehrere HTTP -Statuscodes festlegen. Zum Beispiel, um dieselbe Fehlerseite festzulegen /404.html Für die HTTP -Statuscodes 403 Und 404, Schreiben Sie die Fehlerseite Option wie folgt:
ERROR_PAGE 403 404 /404.html;Protokolle konfigurieren:
In Nginx die Fehlerprotokoll Und Access_log Optionen werden zur Protokollierungsfehlermeldungen und zum Zugriff auf Informationen verwendet.
Das Format der Fehlerprotokoll Und Access_log Optionen sind:
ERROR_LOG/PATH/TO/ERROR/LOG/FILE [Optional: benutzerdefinierter Logname];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.
httpHier lautet der Name des Protokollformates einfach. Einige Nginx -Variablen werden verwendet, um das benutzerdefinierte Protokollformat zu definieren. Besuchen Sie das Handbuch für eingebettete Nginx -Variablen, um alle Nginx -Variablen zu erfahren.
Das benutzerdefinierte Protokollformat sollte in einzelnen Zitate eingeschlossen sein. Das Protokollformat kann in einer einzelnen Zeile oder in mehreren Zeilen definiert werden. Ich habe gezeigt, wie man das Protokollformat in mehreren Zeilen in diesem Artikel definiert. Sie werden keine Probleme mit einem einzigen Leitungs -Protokollformat haben, vertrauen Sie mir!
Einmal das Protokollformat einfach ist definiert, Access_log Die Option wird verwendet, um NGINX zu sagen, dass sie es als Zugriffsprotokoll verwenden sollen.
Auf die gleiche Weise können Sie ein benutzerdefiniertes Fehlerprotokollformat mit dem festlegen Fehlerprotokoll Möglichkeit.
Ich habe nur das benutzerdefinierte Protokollformat für das Zugriffsprotokoll in diesem Artikel konfiguriert.
Jetzt starten Sie neu nginx Service wie folgt:
$ sudo systemctl starten nginx neu
Jetzt können Sie die Zugriffsprotokolldatei wie folgt überwachen:
$ sudo tail -f/var/log/nginx/greifen.Protokoll
Sie können die Fehlerprotokolldatei auch wie folgt überwachen:
$ sudo tail -f/var/log/nginx/fehler.Protokoll
Wenn Sie möchten, können Sie die Zugriffsprotokoll- und Fehlerprotokolldateien gleichzeitig wie folgt überwachen:
$ sudo tail -f/var/log/nginx/fehler, Zugriff.Protokoll
Wie Sie sehen können, wird das neue Zugriffsprotokollformat verwendet.
Zugriff auf bestimmte Pfade verweigern:
Sie können regelmäßige Ausdrücke verwenden, um bestimmte URI -Pfade abzustimmen 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 verweigern .Git/ Verzeichnis auf Ihrem Webroamm.
Geben Sie dazu die folgenden Zeilen in die ein Server Abschnitt von /etc/nging/nginx.Conf Datei:
ServerWie Sie sehen können, Zugriff auf einen beliebigen Weg, der enthält .Git ist abgelehnt.
Konfigurieren der Komprimierung:
Sie können Webinhalte komprimieren, bevor Sie sie mithilfe des Browsers an den Browser senden gzip So speichern Sie die Bandbreitennutzung des NGINX -Webservers.
Ich habe einige JPEG -Bilder in der /usr/share/nginx/html/bilder/ Verzeichnis.
Ich kann mit dem URI -Pfad auf diese Bilder zugreifen /Bilder.
So ermöglichen 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.
ServerHier, gzip_comp_level wird verwendet, um den Kompressionsniveau einzustellen. Es kann eine beliebige Zahl von 1 bis 9 sein. Je höher die Ebene, desto kleiner ist die komprimierte Datei.
Die Datei wird nur komprimiert, wenn die Größe der Datei oben ist gzip_min_length. Ich habe es in diesem Beispiel auf etwa 100 KB eingestellt. JPEG -Dateien, die kleiner als 100 KB sind, werden nicht gzip komprimiert.
Der gzip_types wird verwendet, um den MIME -Typ der Dateien einzustellen, die komprimiert werden.
Sie können MIME -Typ aus 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.
Sie können einen oder mehrere MIME -Typen verwenden gzip_types Möglichkeit.
Wenn Sie mehrere MIME -Typen festlegen möchten, stellen Sie sicher, dass Sie sie wie folgt mit Leerzeichen trennen:
"Jetzt starten Sie neu nginx Service wie folgt:
$ sudo systemctl starten nginx neu
Wie Sie sehen können, sendet Nginx auf Anfrage GZIP -komprimierte Bilddateien an den Browser.
Wie Sie im folgenden Screenshot sehen können.
$ sudo tail -f/var/log/nginx/greifen.Protokoll
Aktivieren von HTTPS:
Sie können SSL in Nginx sehr leicht aktivieren. In diesem Abschnitt werde ich Ihnen zeigen, wie Sie selbstsigniertes SSL-Zertifikat in Nginx festlegen können.
Navigieren Sie zuerst zur Navigation zum /etc/ssl/ Verzeichnis wie folgt:
$ cd /etc /ssl
Generieren Sie nun einen SSL -Schlüssel Server.Taste und Zertifikat Server.crt mit dem folgenden Befehl:
$ sudo openensl req -x509 -nodes -days 365 -Newkey RSA: 2048 -Keyout
Server.Key -out -Server.crt
NOTIZ: Du musst haben OpenSSL installiert, damit dies funktioniert. Wenn OpenSSL -Befehl nicht verfügbar ist, installieren Sie sich OpenSSL mit dem folgenden Befehl:
$ sudo dnf install OpenSSL -y
Geben Sie jetzt Ihren 2-Buchstaben-Ländercode ein (ich.e. USA für die USA, Großbritannien für Großbritannien, RU für Russland, CN für China) und Press .
Geben Sie nun Ihren Namen/Provinznamen ein und drücken Sie 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 Ihres Unternehmens ein, das dieses Zertifikat verwendet und drücken .
Geben Sie nun den vollständig qualifizierten Domänennamen (FQDN) Ihres Nginx -Webservers ein und drücken Sie . Das SSL -Zertifikat ist nur gültig, wenn der Nginx -Webserver mit diesem Domänennamen zugegriffen wird.
Geben Sie nun Ihre E -Mail -Adresse ein und drücken Sie jetzt .
Ihr SSL -Zertifikat sollte bereit sein.
Das SSL -Zertifikat und der Schlüssel sollten in der generiert werden /etc/ssl/ Verzeichnis.
$ ls -lh
Öffnen Sie nun die NGINX -Konfigurationsdatei /etc/nginx/nginx.Conf und ändern Hören Port zu 443 und geben Sie die folgenden Zeilen in die Server Abschnitt.
ServerJetzt starten Sie neu nginx Service wie folgt:
$ sudo systemctl starten nginx neu
Im wirklichen Leben haben Sie das richtige DNS -Setup. Zu den Testzwecken habe ich jedoch den lokalen dateibasierten Domänennamen auf dem Computer konfiguriert, den ich verwendet habe, um auf den Nginx-Webserver zuzugreifen.
Wenn Sie folgen möchten, öffnen Sie die /etc/hosts Datei wie folgt:
$ sudo nano /etc /hosts
Fügen Sie dann die folgende Zeile zum Fügen Sie der hinzu /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 gut für den Testzweck.
Im wirklichen Leben kaufen Sie SSL -Zertifikate von Zertifikatbehörden (CAS) und verwenden sie. Sie werden diese Art von Nachricht also nicht sehen.
Wie Sie sehen können, hat Nginx die Webseite über https bedient. SSL arbeitet also.
Die SSL -Informationen von www.Beispiel.com.
Umleitung von HTTP -Anforderungen an HTTPS:
Wenn jemand Ihre Website über das HTTP -Protokoll besucht (http: // wwwww.Beispiel.com oder http: // 192.168.20.175) anstelle von https (https: // www.Beispiel.com) Sie möchten 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 zunächst die NGINX -Konfigurationsdatei /etc/nginx/nginx.Conf und eine neue erstellen Server Abschnitt in der http Abschnitt wie folgt:
httpDies ist das Finale /etc/nginx/nginx.Conf Datei:
Benutzer nginx nginx;Jetzt starten Sie neu nginx Service wie folgt:
$ sudo systemctl starten nginx neu
Wenn Sie nun versuchen, auf http: // 192 zuzugreifen.168.20.175 oder http: // www.Beispiel.com, Sie werden auf https: // www weitergeleitet.Beispiel.com.
So installieren und konfigurieren Sie den NGINX -Webserver auf CentOS 8. Danke, dass du diesen Artikel gelesen hast.