Heim > Artikel > Backend-Entwicklung > Anweisungen zur Konfiguration des Nginx-Servers
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>
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>
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.