Heim >Betrieb und Instandhaltung >Nginx >Detaillierte Erläuterung der Nginx-Konfigurationsdatei
NGINX ähnelt anderen Diensten darin, dass es textbasierte Konfigurationsdateien hat, die in einem bestimmten Format geschrieben sind.
Standardmäßig heißt die Datei nginx.conf und wird im Verzeichnis /etc/nginx abgelegt (bei Open-Source-NGINX-Produkten hängt der Speicherort vom Paket ab, das zur Installation von NGINX verwendet wird). Betriebssystem System, es befindet sich normalerweise unter /usr/local/nginx/conf/etc/nginx oder /usr/local/etc/nginx) (Empfohlenes Lernen: Nginx-Verwendung)
Eine Konfigurationsdatei besteht aus Anweisungen und ihren Parametern. Einfache (einzeilige) Anweisungen enden jeweils mit einem Semikolon. Andere Anweisungen fungieren als „Container“, die zusammengehörige Anweisungen gruppieren und in geschweifte Klammern ({}) eingeschlossen sind. Hier sind einige Beispiele für einfache Anweisungen.
user nobody; error_log logs/error.log notice; worker_processes 1;
Um die Konfiguration einfacher zu verwalten, wird empfohlen, sie in einen Satz funktionsspezifischer Dateien aufzuteilen, die im Verzeichnis /etc/nginx/conf.d gespeichert sind, und include im Haupt-Nginx zu verwenden. conf-Datei Die Anweisung bezieht sich auf den Inhalt der angegebenen Datei. Wie unten gezeigt -
include conf.d/http; include conf.d/stream; include conf.d/exchange-enhanced;
Mehrere Direktiven der obersten Ebene (Kontexte genannt) gruppieren Direktiven, die für verschiedene Verkehrstypen geeignet sind:
Ereignisse – allgemeine Verbindungsverarbeitung http – HTTP-Protokoll Traffic Mail – Mail-Protokoll-Traffic-Stream – TCP-Protokoll-Traffic
Anweisungen, die außerhalb dieser Kontexte angegeben werden, befinden sich im Hauptkontext. In jeden Datenverkehrsverarbeitungskontext können Sie einen oder mehrere Serverkontexte einschließen, um die virtuellen Server zu definieren, die die Anforderungsverarbeitung steuern. Die Anweisungen, die Sie in Ihre Serverumgebung integrieren können, variieren je nach Art des Datenverkehrs.
Für HTTP-Verkehr (http-Kontext) steuert jede Serveranweisung die Verarbeitung von Ressourcenanforderungen für eine bestimmte Domäne oder IP-Adresse. Ein oder mehrere Standortkontexte innerhalb des Serverkontexts definieren, wie ein bestimmter Satz von URIs verarbeitet wird.
Für E-Mail- und TCP-Verkehr (Mail- und Stream-Kontexte) steuern Serveranweisungen jeweils die Handhabung des Datenverkehrs, der an einem bestimmten TCP-Port oder UNIX-Socket ankommt.
Die folgende Konfiguration veranschaulicht die Verwendung von Kontext.
user nobody; # a directive in the 'main' context events { # configuration of connection processing } http { # Configuration specific to HTTP and affecting all virtual servers server { # configuration of HTTP virtual server 1 location /one { # configuration for processing URIs with '/one' } location /two { # configuration for processing URIs with '/two' } } server { # configuration of HTTP virtual server 2 } } stream { # Configuration specific to TCP and affecting all virtual servers server { # configuration of TCP virtual server 1 } }
Bei den meisten Anweisungen erbt ein in einem anderen Kontext definierter Kontext (ein untergeordneter Kontext) den Wert der im übergeordneten Element enthaltenen Richtlinie. Um vom übergeordneten Prozess geerbte Werte zu überschreiben, fügen Sie diese Anweisung in den untergeordneten Kontext ein.
Damit Änderungen an der Konfigurationsdatei wirksam werden, muss NGINX die Datei neu laden. Der Nginx-Prozess kann neu gestartet oder das Reload-Signal gesendet werden, um die Konfiguration zu aktualisieren, ohne die Verarbeitung der aktuellen Anfrage zu unterbrechen.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Nginx-Konfigurationsdatei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!