Heim  >  Artikel  >  Backend-Entwicklung  >  Anweisungen zur Konfiguration des Nginx-Servers

Anweisungen zur Konfiguration des Nginx-Servers

WBOY
WBOYOriginal
2016-07-30 13:30:091289Durchsuche

Anweisungen zur Konfiguration des Nginx-Servers:
Rewrite-Funktion, Proxy-Funktion

Rewrite-Funktion

Konfigurationsanweisungen für die Backend-Servergruppe

Upstream-Anweisung

Upstream-Anweisung ist die Hauptmethode zum Einrichten des Backend-Servers Gruppe Der Befehl

<code>upstream name {<span>...</span>} </code>

fordert den Server an, gemäß der Round-Robin (RR)-Richtlinienreihenfolge verarbeitet zu werden.

Server

Serverbefehl wird zum Festlegen des Servers verwendet in der Gruppe

<code>server address [<span>params</span>];</code>
  • Adresse: Serveradresse, die eine Portnummer oder einen Unix-Domänen-Socket für die Kommunikation zwischen Prozessen mit dem Präfix „unix:“ enthalten kann
  • Parameter: Weitere konfigurieren für die aktuelle Servereigenschaft.
    Gewicht = Zahl, das Gewicht der Server in der Gruppe. Anfragen mit höheren Gewichten werden zuerst verarbeitet (gewichtete Polling-Strategie wird verwendet)
    max_fails=number legt die Anzahl der fehlgeschlagenen Anfragen an einen Server in der Gruppe fest. Übersteigt diese Variable, gilt der Server als ungültig (außer 404)
    fail_timeout=time, legen Sie die Zeit fest, zu der versucht wird, einen Server in einer Gruppe anzufordern, und prüfen Sie, ob der Server gültig ist
    Backup, markieren Sie den Server als Backup-Server
    heruntergefahren, markieren Sie den Server als dauerhaft ungültig

ip_hash-Befehl

Der ip_hash-Befehl wird verwendet, um die Sitzungspersistenzfunktion zu implementieren und mehrere Anfragen von einem Client an denselben Server in der Gruppe zu leiten um sicherzustellen, dass eine stabile Sitzung zwischen dem Client und dem Server hergestellt wird.
Hinweis: Der Befehl ip_hash kann nicht mit der Weight-Variablen verwendet werden. Im gesamten System muss der Nginx-Server der Front-End-Server sein und die Client-Adresse muss eine Adresse der Klasse C sein

Keepalive-Befehl

Der Keepalive-Befehl wird verwendet, um die Netzwerkverbindungserhaltungsfunktion zu steuern

<code>keepalive connections;</code>

Legen Sie die Obergrenze der Anzahl inaktiver Netzwerkverbindungen fest, die jeder Arbeitsprozess des Servers zulässt Zu verwaltende Servergruppe

least_conn-Anweisungen

Die least_conn-Anweisung wird verwendet, um den Nginx-Server so zu konfigurieren, dass er die Lastausgleichsrichtlinie verwendet, um Server in der Servergruppe für Netzwerkverbindungen zuzuweisen und Anforderungen an die zuzuweisen Server mit der geringsten aktuellen Netzwerkverbindung

Konfigurationsanweisungen für die Rewrite-Funktion

Mehrere Anwendungen der Rewrite-Funktion

Proxy-Funktion

Nginx-Forward-Proxy-Dienst-Konfigurationsanweisung

Resolver-Anweisung

Resolver-Anweisung wird verwendet. Geben Sie die IP-Adresse des DNS-Servers an.

<code>resolver address <span>...</span> [valid=time];</code>
  • Adresse, die IP-Adresse des DNS-Servers und den Standardport 35
  • time, legen Sie die Gültigkeitszeit des Datenpakets im Netzwerk fest

resolve_timeout-Befehl

resolve_timeout-Befehl wird verwendet, um das Zeitlimit für die Auflösung des DNS-Server-Domänennamens festzulegen

<code>resolve_timeout <span>time</span>;</code>

proxy_pass-Befehl

proxy_pass-Befehl wird verwendet, um das Protokoll des Proxyservers und die Adresse festzulegen

<code>proxy_pass <span>URL</span>;</code>

Nginx-Reverse-Proxy-Dienstkonfigurationsbefehl

proxy_pass-Befehl

proxy_pass-Befehl wird verwendet, um die Adresse des Proxyservers festzulegen. Dies kann ein Hostname oder eine IP-Adresse sein. Fügen Sie ein Portnummernformular usw. hinzu.

<code>proxy_pass <span>URL</span>;</code>

proxy_hide_header-Anweisung

proxy_hide_header-Direktive wird verwendet, um den Nginx-Server so einzustellen, dass einige Header-Feldinformationen beim Senden von HTTP-Antworten ausgeblendet werden

<code>proxy<span>\_</span>hide_header field</code>

proxy_pass_header-Befehl

Der Proxy_pass_header-Befehl wird verwendet, um festzulegen, welche Header-Feldinformationen werden gesendet

<code>proxy<span>\_</span>hide_header field</code>

Proxy_pass_header-Befehl

Mit dem Proxy_pass_header-Befehl wird festgelegt, welche Header-Feldinformationen gesendet werden

<code>proxy<span>\_</span>hide_header field</code>

Ausgelassen

Nginx-Reverse-Proxy-Service-Lastausgleich

Lastausgleich allgemeiner Abfrageregeln

<code><span>...</span>
upstream backend {
    server <span>192.168</span><span>.1</span><span>.2</span>:<span>80</span>;
    server <span>192.168</span><span>.1</span><span>.3</span>:<span>80</span>;
    server <span>192.168</span><span>.1</span><span>.4</span>:<span>80</span>;
}
server {
    listen <span>80</span>;
    server_name www.mysite.name;
    index index.html index.htm;
    location / {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        <span>...</span>
    }
    <span>...</span>
}</code>

Lastausgleich gewichteter Abfrageregeln

<code><span>...</span>
upstream backend {
    server <span>192.168</span><span>.1</span><span>.2</span>:<span>80</span> weight=<span>5</span>;
    server <span>192.168</span><span>.1</span><span>.3</span>:<span>80</span> weight=<span>2</span>;
    server <span>192.168</span><span>.1</span><span>.4</span>:<span>80</span>;
}
server {
    listen <span>80</span>;
    server_name www.mysite.name;
    index index.html index.htm;
    location / {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        <span>...</span>
    }
    <span>...</span>
}</code>

Lastausgleich spezifischer Ressourcen

<code><span>...</span>
upstream videobackend {
    server <span>192.168</span><span>.1</span><span>.2</span>:<span>80</span>;
    server <span>192.168</span><span>.1</span><span>.3</span>:<span>80</span>;
    server <span>192.168</span><span>.1</span><span>.4</span>:<span>80</span>;
}
upstream filebackend {
    server <span>192.168</span><span>.1</span><span>.5</span>:<span>80</span>;
    server <span>192.168</span><span>.1</span><span>.6</span>:<span>80</span>;
    server <span>192.168</span><span>.1</span><span>.7</span>:<span>80</span>;
}
server {
    listen <span>80</span>;
    server_name www.mysite.name;
    index index.html index.htm;
    location /video/ {
        proxy_pass http://videobackend;
        proxy_set_header Host $host;
        <span>...</span>
    }
    location /file/ {
        proxy_pass http://filebackend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        <span>...</span>
    }
    <span>...</span>
}</code>

Lastausgleich für verschiedene Domainnamen

<code><span>...</span>
upstream bbsbackend{
    server <span>192.168</span><span>.1</span><span>.2</span>:<span>80</span> weight=<span>2</span>;
    server <span>192.168</span><span>.1</span><span>.3</span>:<span>80</span> weight=<span>2</span>;
    server <span>192.168</span><span>.1</span><span>.4</span>:<span>80</span>;
}
upstream homebackend {
    server <span>192.168</span><span>.1</span><span>.4</span>:<span>80</span>;
    server <span>192.168</span><span>.1</span><span>.5</span>:<span>80</span>;
    server <span>192.168</span><span>.1</span><span>.6</span>:<span>80</span>;
}
server {
    listen <span>80</span>;
    server_name home.mysite.name;
    index index.html index.htm;
    location / {
        proxy_pass http://homebackend;
        proxy_set_header Host $host;
        <span>...</span>
    }
    <span>...</span>
}

server {
    listen <span>81</span>;
    server_name bbs.mysite.name;
    index index.html index.htm;
    location / {
        proxy_pass http://bbsbackend;
        proxy_set_header Host $host;
        <span>...</span>
    }
    <span>...</span>
}</code>

Lastausgleich mit URL-Rewriting

<code><span>...</span>
upstream backend{
    server <span>192.168</span><span>.1</span><span>.2</span>:<span>80</span>;
    server <span>192.168</span><span>.1</span><span>.3</span>:<span>80</span>;
    server <span>192.168</span><span>.1</span><span>.4</span>:<span>80</span>;
}
server {
    listen <span>80</span>;
    server_name www.mysite.name;
    index index.html index.htm;
    location /file/ {
        rewrite ^(/file/.*)/media/(.*)\.*$ $<span>1</span>/mp3/$<span>2.</span>mp3 last;
    }

    location / {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        <span>...</span>
    }
}</code>

Das Obige stellt die Anweisungen zur Nginx-Serverkonfiguration einschließlich des relevanten Inhalts vor. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

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