Detaillierte Erklärung der Nginx-Konfigurationsdatei und Anleitung mit Optimierungsvorschlägen

Detaillierte Erklärung der Nginx-Konfigurationsdatei und Anleitung mit Optimierungsvorschlägen

1. Übersicht

Heute werde ich die Nginx-Konfigurationsdatei im Detail erläutern und einige Konfigurationsvorschläge machen, in der Hoffnung, dass es für alle hilfreich ist.

2. nginx.conf

1) Speicherort der Konfigurationsdatei

Im conf-Ordner des Nginx-Installationsverzeichnisses, zum Beispiel: /usr/local/nginx/conf/nginx.conf.

Sie können die Konfigurationsdatei auch an einer beliebigen Stelle ablegen und beim Starten von Nginx den Speicherort der Konfigurationsdatei angeben, zum Beispiel: ./nginx -c /home/nginx.conf

2) Arbeitsprozesse

Legen Sie die Anzahl der Worker fest. Das Prozessmodell von Nginx verwendet den Master- und Worker-Modus. Ein Master ist für die Koordination verantwortlich und mehrere Worker sind für die Interaktion mit dem Client verantwortlich.

Stellen Sie es hier einfach auf Automatisch.

3) Veranstaltungen

Legen Sie das zu verwendende Modell und die Anzahl der Verbindungen pro Worker fest.

Das Modell im Linux-Betriebssystem empfiehlt die Verwendung von epoll.

Die Anzahl der Worker-Verbindungen ist im Normalfall auf 10240 eingestellt. Bei sehr guten Hardware-Ressourcen kann diese Zahl natürlich auch entsprechend erhöht werden.

4) umfassen

Fügen Sie den Inhalt einer anderen Datei ein, indem Sie den Inhalt der anderen Datei am Tag platzieren.

Sie können mehrere Includes für mehrere Dateien schreiben oder Platzhalter verwenden, um mehrere Dateien abzugleichen.

5) sendfile und tcp_nopush

sendfile: Legen Sie fest, ob die effiziente Dateiübertragung aktiviert ist (standardmäßig aktiviert).

tcp_nopush: Dies ist nur wirksam, wenn der Wert sendfile aktiviert ist. Wenn tcp_nopush aktiviert ist, bedeutet dies, dass die Datenpakete gesendet werden, wenn sie eine bestimmte Größe erreichen, was zur Verbesserung der Effizienz der Dateiübertragung beiträgt.

Es wird empfohlen, beides einzuschalten.

6) Keepalive_Timeout

Das Timeout-Zeitfenster für die Verbindung des Clients mit dem Server. Bevor die Verbindung getrennt wird, interagiert der Client erneut mit dem Server und kann diese Verbindung erneut verwenden. Es ist nicht erforderlich, eine Verbindung erneut herzustellen, was den Ressourcenaufwand reduziert.

Wenn der Wert auf 0 gesetzt ist, bedeutet dies, dass die Verbindung sofort nach der Interaktion getrennt wird. Dieser Wert kann der Standardwert bleiben.

7) gzip

Wenn diese Option aktiviert ist, werden die Daten vor der Übertragung komprimiert. Dadurch wird die Übertragungseffizienz verbessert und Bandbreite gespart, allerdings wird die Leistung der Server-CPU beeinträchtigt.

Um diese Konfiguration zu aktivieren, müssen Sie auch einige zusätzliche Eigenschaften konfigurieren.

Hier können Sie abwägen, ob Sie Bandbreite sparen oder die CPU-Leistung verbessern möchten. Es wird empfohlen, dies zu aktivieren und entsprechend den tatsächlichen Bedingungen zu konfigurieren.

Kopieren Sie den Code wie folgt:
gzip on;gzip_min_length 512; # Minimale Komprimierungsgrenze in Bytes. Wenn sie unter diesem Wert liegt, wird nicht komprimiert. gzip_comp_level 5; # Komprimierungsstufe, der Wert liegt zwischen 1 und 9. Je höher die Stufe, desto höher die Komprimierungsrate und desto mehr CPU-Verbrauch. gzip_types text/plain application/javascript text/css image/jpeg image/gif image/png application/json; # Dateitypen, die komprimiert werden müssen

8) Server

Ein Serverblock ist ein virtueller Dienst.

Im Serverblock können Sie den Port, den Dienstnamen, die Routing-Regeln und andere Informationen des virtuellen Dienstes angeben.

Es kann mehrere Server geben.

Auf einem Server können mehrere Standorte vorhanden sein.

Server {
        listen 90; # Port Servername localhost; # Dienstname, der eine IP-Adresse oder ein Domänenname sein kann. Wenn die Ports gleich sind, wird die Routing-Regel entsprechend dem Dienstnamen location / { ausgewählt. # Routing-Regel für den Root-Pfad root html; # entspricht dem HTML-Ordner unter dem Nginx-Installationsziel und kann auch auf einen absoluten Pfad festgelegt werden, zum Beispiel: root /home/html;
            index hello.html; #Geben Sie die Standard-Homepage als hello.html an
        }
     location /hello { root /home/hello; # Index wird ausgelassen, was bedeutet, dass keine Standardseite vorhanden ist} 
             error_page 500 502 503 504 /50x.html; # Geben Sie die Fehlerseite an, zu der diese Statuscodes springen location = /50x.html {
            Stamm-HTML;
        }
    }

9) Detaillierte Erklärung der Standortabgleichsregeln

Der Serverblock enthält den Standortblock. Unter einem Server können mehrere Standortblöcke vorhanden sein, die hauptsächlich zum Konfigurieren der Routingregeln für Anforderungen verwendet werden.

Nginx gleicht den angeforderten Ressourcenpfad mit dem Standortblock ab und leitet die Route dann entsprechend der Standortkonfiguration weiter.

Der Standort unterstützt mehrere Übereinstimmungsregeln, die im Folgenden ausführlich beschrieben werden.

Genaue Übereinstimmung

location / { # Routing-Regel für den Stammpfad root html; # Entspricht dem HTML-Ordner unter dem Nginx-Installationsziel, kann auch auf einen absoluten Pfad festgelegt werden, zum Beispiel: root /home/html;
            index hello.html; #Geben Sie die Standard-Homepage als hello.html an
        }
    Standort /hallo {
     root /home/hallo;
     # Index ausgelassen, was bedeutet, dass keine Standardseite vorhanden ist}

Übereinstimmung mit regulären Ausdrücken

    Standort ~* \.(GIF|PNG|jpg|bmp|jpeg) { # * steht für das Groß-/Kleinschreibungs-unabhängige Stammverzeichnis /home/img;
    }

Stimmt mit Anfragen überein, die mit einem bestimmten Pfad beginnen

    Standort ^~ /server/page/ {
        Stammverzeichnis /home/Seite;
    }

3. Übersicht

Heute haben wir die Nginx-Konfiguration ausführlich erklärt. Einige erweiterte Anwendungen von Nginx werden später separat vorgestellt. Ich hoffe, wir können mehr kommunizieren und gemeinsam wachsen.

Dies ist das Ende dieses Artikels über die detaillierte Erklärung und Optimierung der Nginx-Konfigurationsdatei. Weitere relevante Inhalte zur Optimierung der Nginx-Konfigurationsdatei finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Eine kurze Analyse des Schreibens und der Verwendung von Variablen in der Nginx-Konfigurationsdatei
  • Chinesische Kommentare zur Konfigurationsdatei nginx.conf von Nginx
  • Detaillierte Erklärung der Nginx-Konfigurationsdatei auf Chinesisch
  • Einführung in die Nginx-Konfiguration und Konfigurationsdateien unter Windows
  • Vollständige Analyse der Nginx-Serverkonfigurationsdatei
  • Detaillierte Erklärung, wie Sie den Speicherort der Nginx-Konfigurationsdatei finden
  • Detaillierte Erklärung der Nginx-Konfigurationsdatei
  • Detaillierte Erklärung der Nginx-Konfigurationsdatei

<<:  Analyse und Meinungen zur Designstruktur des großen Bildes auf der Homepage der Taobao Mall (Bild)

>>:  Warum MySQL die Verwendung von Nullspalten mit Standardwerten nicht empfiehlt

Artikel empfehlen

HTML-Tutorial: Sammlung häufig verwendeter HTML-Tags (6)

Diese eingeführten HTML-Tags entsprechen nicht un...

Die Popup-Maske der Frontend-Seite verhindert das Scrollen der Seite

Ein Problem, auf das Frontend-Entwickler häufig s...

Sehr empfehlenswert! Syntax Sugar in Vue 3.2 einrichten

Inhaltsverzeichnis Vorherige 1. Was ist Setup-Syn...

So erstellen Sie einen MySQL-Cluster mit hoher Verfügbarkeit und Leistung

Inhaltsverzeichnis Was ist MySQL NDB Cluster? Vor...

Beispiel für die Verwendung von JS, um zu bestimmen, ob ein Element ein Array ist

Hier sind die Arten von Daten, die überprüft werd...

21 Best Practices zur MySQL-Standardisierung und -Optimierung!

Vorwort Jede gute Angewohnheit ist ein Schatz. Di...