So installieren Sie Nginx und konfigurieren Sie auf CentOS 8

So installieren Sie Nginx und konfigurieren Sie auf CentOS 8
Nginx ist ein schneller und leichtgewichtiger Webserver. Die Konfigurationsdateien von Nginx sind wirklich einfach und einfach zu arbeiten. Es ist eine großartige Alternative zum Apache -Webserver. In diesem Artikel werde ich Ihnen zeigen, wie Sie den NGINX -Webserver auf CentOS 8 installieren und konfigurieren können. Also lasst uns anfangen.

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;
Worker_Processes Auto;
Fehler_log/var/log/nginx/fehler.Protokoll;
pid /run /nginx.PID;
Veranstaltungen
Worker_Connections 1024;

http
Inhaftieren/etc/nginx/mime.Typen;
Default_type Application/Oktettstrom;
Server
Hören Sie 80;
server_name Beispiel.com www.Beispiel.com;
root/usr/share/nginx/html;
Indexindex.html;
access_log/var/log/nginx/greifen zugreifen.Protokoll;

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.

Hallo Welt


© 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.

Fehlerseiten konfigurieren:

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.

Server

ERROR_PAGE 404 /404.html;

Erstellen 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.

Fehler 404


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:

Server

ERROR_PAGE 404 /404.html;
Ort /404.html
root/usr/share/nginx/html/fehler;


Machen 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.

SEITE NICHT GEFUNDEN


WIEDER NACH HAUSE GEHEN

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];
access_log/path/to/access/log/file [optional: benutzerdefinierte 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 Simple '[$ time_iso8601] $ request_method $ request_uri'
'[$ status] ($ request_time) -> $ bytes_sent bytes';

Server

access_log/var/log/nginx/greifen zugreifen.Log einfach;


Hier 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:

Server

Ort ~ \.Git
alles leugnen;


Wie 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.

Server

Ort /Bilder
gzip auf;
gzip_comp_level 9;
gzip_min_length 100000;
GZIP_TYPES Image/JPEG;


Hier, 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:

"
GZIP_TYPES Image/JPEG Image/PNG Image/GIF;

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.

Server

SSL auf;
SSL_Certificate/etc/ssl/Server.CRT;
ssl_certificate_key/etc/ssl/server.Taste;

Jetzt 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:

http

Server
Hören Sie 80;
server_name www.Beispiel.com;
Return 301 https: // www.Beispiel.com $ request_uri;


Dies ist das Finale /etc/nginx/nginx.Conf Datei:

Benutzer nginx nginx;
Worker_Processes Auto;
Fehler_log/var/log/nginx/fehler.Protokoll;
pid /run /nginx.PID;
Veranstaltungen
Worker_Connections 1024;

http
Inhaftieren/etc/nginx/mime.Typen;
Default_type Application/Oktettstrom;
LOG_FORMAT Simple '[$ time_iso8601] $ request_method $ request_uri'
'[$ status] ($ request_time) -> $ bytes_sent bytes';
Server
Hören Sie 80;
server_name www.Beispiel.com;
Return 301 https: // www.Beispiel.com $ request_uri;

Server
Hören Sie 443;
server_name www.Beispiel.com;
SSL auf;
SSL_Certificate/etc/ssl/Server.CRT;
ssl_certificate_key/etc/ssl/server.Taste;
access_log/var/log/nginx/greifen zugreifen.Log einfach;
Standort /
root/usr/share/nginx/html;
Indexindex.html;

Ort /Bilder
gzip auf;
gzip_comp_level 9;
gzip_min_length 100000;
GZIP_TYPES Image/JPEG;

ERROR_PAGE 404 /404.html;
Ort /404.html
root/usr/share/nginx/html/fehler;

Ort ~ \.Git
alles leugnen;


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.