Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Woraus besteht das Nginx-Konfigurationssystem?

Woraus besteht das Nginx-Konfigurationssystem?

(*-*)浩
(*-*)浩Original
2019-11-26 16:39:463078Durchsuche

Woraus besteht das Nginx-Konfigurationssystem?

Das Konfigurationssystem von Nginx besteht aus einer Hauptkonfigurationsdatei und einigen anderen Hilfskonfigurationsdateien. Bei diesen Konfigurationsdateien handelt es sich ausschließlich um reine Textdateien, die sich alle im Verzeichnis conf unter dem Nginx-Installationsverzeichnis befinden. (Empfohlenes Lernen: nginx-Tutorial)

Zeilen, die in der Konfigurationsdatei mit # beginnen, oder Zeilen, denen eine Reihe von Leerzeichen oder TAB vorangestellt sind und denen dann ein # folgt, gelten als It ist ein Kommentar, das heißt, er ist nur für den Benutzer von Bedeutung, der die Datei bearbeitet und anzeigt. Wenn das Programm diese Kommentarzeilen liest, wird der tatsächliche Inhalt ignoriert.

Da unter bestimmten Umständen andere Dateien als die Hauptkonfigurationsdatei nginx.conf verwendet werden, wird unter allen Umständen nur die Hauptkonfigurationsdatei verwendet. Daher nehmen wir hier die Hauptkonfigurationsdatei als Beispiel, um das Nginx-Konfigurationssystem zu erläutern.

In nginx.conf enthält es mehrere Konfigurationselemente. Jedes Konfigurationselement besteht aus zwei Teilen: Konfigurationsanweisungen und Anweisungsparametern. Befehlsparameter sind die Konfigurationswerte, die den Konfigurationsanweisungen entsprechen.

Befehlsübersicht

Der Konfigurationsbefehl ist eine Zeichenfolge, die in einfache oder doppelte Anführungszeichen eingeschlossen werden kann oder auch nicht. Wenn die Konfigurationsanweisung jedoch Leerzeichen enthält, muss sie in Anführungszeichen gesetzt werden.

Befehlsparameter

Die Parameter des Befehls werden vom Befehl durch ein oder mehrere Leerzeichen oder TAB-Zeichen getrennt. Die Parameter der Anweisung bestehen aus einem oder mehreren TOKEN-Strings. TOKEN-Zeichenfolgen werden durch Leerzeichen oder TAB-Tasten getrennt.

TOKEN-Strings werden in einfache Strings oder zusammengesetzte Konfigurationsblöcke unterteilt. Ein zusammengesetzter Konfigurationsblock ist eine Menge von Inhalten, die in geschweifte Klammern eingeschlossen sind. Ein zusammengesetzter Konfigurationsblock kann mehrere andere Konfigurationsanweisungen enthalten.

Wenn die Parameter einer Konfigurationsanweisung alle aus einfachen Zeichenfolgen bestehen, also keine zusammengesetzten Konfigurationsblöcke enthalten, dann sagen wir, dass die Konfigurationsanweisung ein einfaches Konfigurationselement ist, andernfalls wird sie als komplex bezeichnet Konfigurationselement. Das Folgende ist beispielsweise ein einfaches Konfigurationselement:

   error_page   500 502 503 504  /50x.html;

Für eine einfache Konfiguration verwenden Sie ein Semikolon am Ende des Konfigurationselements. Bei komplexen Konfigurationselementen, die mehrere TOKEN-Zeichenfolgen enthalten, wird die einfache TOKEN-Zeichenfolge normalerweise am Anfang und der zusammengesetzte Konfigurationsblock normalerweise am Ende platziert, und am Ende muss kein Semikolon hinzugefügt werden. Zum Beispiel das folgende komplexe Konfigurationselement:

location / {
            root   /home/jizhao/nginx-book/build/html;
            index  index.html index.htm;
        }

Anweisungskontext

Die Konfigurationsinformationen in nginx.conf werden nach ihrer logischen Bedeutung klassifiziert und unterteilt in mehrere Bereiche oder als Konfigurationsanweisungskontext bezeichnet. Verschiedene Bereiche enthalten ein oder mehrere Konfigurationselemente.

Mehrere Befehlskontexte, die derzeit von Nginx unterstützt werden:

main: Einige Parameter von Nginx, die nichts mit bestimmten Geschäftsfunktionen zu tun haben (z. B. http-Dienst oder E-Mail-Dienst-Proxy). ) zur Laufzeit, wie z. B. die Anzahl der Arbeitsprozesse, die laufende Identität usw.

http: Einige Konfigurationsparameter im Zusammenhang mit der Bereitstellung des HTTP-Dienstes. Zum Beispiel: ob Keepalive verwendet werden soll, ob gzip zur Komprimierung verwendet werden soll usw.

Server: Auf dem http-Dienst werden mehrere virtuelle Hosts unterstützt. Jeder virtuelle Host verfügt über ein entsprechendes Serverkonfigurationselement, das die Konfiguration für den virtuellen Host enthält. Bei der Bereitstellung eines Proxys für Mail-Dienste können Sie auch mehrere Server einrichten, wobei sich jeder Server durch die Abhöradresse unterscheidet.

Speicherort: Im HTTP-Dienst eine Reihe von Konfigurationselementen, die bestimmten spezifischen URLs entsprechen.

Mail: Einige gemeinsame Konfigurationselemente bei der Implementierung von E-Mail-bezogenen SMTP/IMAP/POP3-Proxys (da es möglich ist, mehrere Proxys zu implementieren und an mehreren Abhöradressen zu arbeiten).

Befehlskontext, es kann Einschlüsse geben. Beispiel: Normalerweise müssen der http-Kontext und der Mail-Kontext im Hauptkontext erscheinen. Ein Kontext kann mehrfach Kontexte eines anderen Typs enthalten. Beispiel: Wenn der http-Dienst mehrere virtuelle Hosts unterstützt, werden im http-Kontext mehrere Serverkontexte angezeigt.

Sehen wir uns eine Beispielkonfiguration an:

user  nobody;
    worker_processes  1;
    error_log  logs/error.log  info;

    events {
        worker_connections  1024;
    }

    http {  
        server {  
            listen          80;  
            server_name     www.linuxidc.com;  
            access_log      logs/linuxidc.access.log main;  
            location / {  
                index index.html;  
                root  /var/www/linuxidc.com/htdocs;  
            }  
        }  

        server {  
            listen          80;  
            server_name     www.Androidj.com;  
            access_log      logs/androidj.access.log main;  
            location / {  
                index index.html;  
                root  /var/www/androidj.com/htdocs;  
            }  
        }  
    }

    mail {
        auth_http  127.0.0.1:80/auth.php;
        pop3_capabilities  "TOP"  "USER";
        imap_capabilities  "IMAP4rev1"  "UIDPLUS";

        server {
            listen     110;
            protocol   pop3;
            proxy      on;
        }
        server {
            listen      25;
            protocol    smtp;
            proxy       on;
            smtp_auth   login plain;
            xclient     off;
        }
    }

In dieser Konfiguration existieren alle fünf oben genannten Konfigurationsbefehlskontexte.

Die Konfigurationsanweisungen, die im Hauptkontext vorhanden sind, sind wie folgt:

userworker_processeserror_logeventshttpmail

Die Anweisungen, die im http-Kontext vorhanden sind, sind wie folgt:

server

Die Anweisungen, die in existieren Der E-Mail-Kontext lautet wie folgt:

serverauth_httpimap_capabilities

Die im Serverkontext vorhandenen Konfigurationsanweisungen lauten wie folgt:

listenserver_nameaccess_loglocationprotocolproxysmtp_authxclient

Die im Standortkontext vorhandenen Anweisungen lauten wie folgt:

indexroot

Natürlich sind das nur einige Beispiele. Spezifische Konfigurationsanweisungen und den Kontext, in dem diese Konfigurationsanweisungen angezeigt werden können, finden Sie in der Nginx-Nutzungsdokumentation.

Das obige ist der detaillierte Inhalt vonWoraus besteht das Nginx-Konfigurationssystem?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn