Was sind die häufigsten Anwendungsszenarien von Nginx?

王林
Freigeben: 2020-09-11 16:21:17
nach vorne
5930 Leute haben es durchsucht

Was sind die häufigsten Anwendungsszenarien von Nginx?

Nginx-Hauptanwendungsszenarien

(Empfohlenes Tutorial:

Nginx-Tutorial)

Reverse-Proxy sollte die häufigste Funktion von Nginx sein. Was ist ein Reverse-Proxy? In der Baidu-Enzyklopädie heißt es: Die Reverse-Proxy-Methode (Reverse Proxy) bezieht sich auf die Verwendung eines Proxyservers zum Akzeptieren von Verbindungsanforderungen im Internet, die Weiterleitung der Anforderungen an den Server im internen Netzwerk und die Rückgabe der vom Server erhaltenen Ergebnisse an einen Client Wenn ein Benutzer eine Verbindung im Internet anfordert, erscheint der Proxy-Server nach außen als Reverse-Proxy-Server. Um es einfach auszudrücken: Auf den realen Server kann nicht direkt über das externe Netzwerk zugegriffen werden. Daher ist ein Proxyserver erforderlich, auf den über das externe Netzwerk zugegriffen werden kann und der sich natürlich in derselben Netzwerkumgebung befindet wie der reale Server Möglicherweise handelt es sich auch um denselben Server und Port, nur um einen anderen.

Schlüsselbefehle: proxy_pass

; Übertragen Sie beispielsweise den Localhost-Port 8080

<span style="color: #000000;">server { 
   listen 80; 
    server_name localhost; 

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host:$server_port;
  }<br>}    </span>
Nach dem Login kopieren
2. Lastausgleich ist auch eine häufig verwendete Funktion von Nginx Es gibt 2 oder Wenn mehr als 2 Server vorhanden sind, werden Anforderungen zur Verarbeitung gemäß den Regeln zufällig an bestimmte Server verteilt. Die Konfiguration des Lastausgleichs erfordert im Allgemeinen die gleichzeitige Konfiguration eines Reverse-Proxys und den Übergang zum Lastausgleich über den Reverse-Proxy. Nginx unterstützt derzeit drei Arten von Lastausgleichsstrategien sowie zwei häufig verwendete Strategien von Drittanbietern Schlüsselbefehle:

upstream

; Beispielsweise werden Anforderungen von Localhost-Port 80 gleichmäßig auf die Dienste Localhost 8080 und Localhost 8081 verteilt

Load Plan:

1), Gewichtung: Sitzungsfreigabe muss implementiert werden, sonst ist die Benutzersitzung nicht synchron, was dazu führt, dass sich der Benutzer erneut anmeldet

    upstream test {
        server localhost:8080 weight=9;  #请求的 90% 进入到8080服务器
        server localhost:8081 weight=1;  #请求的 10% 进入到8081服务器
    }
Nach dem Login kopieren
2), ip_hash: Jede Anfrage wird gemäß dem Hash-Ergebnis zugewiesen der IP, auf die zugegriffen wird, sodass Besucher bei jeder Anfrage festen Zugriff auf einen Back-End-Server haben, der das Sitzungsproblem lösen kann

upstream test {        ip_hash;
        server localhost:8080;
        server localhost:8081;
    }
Nach dem Login kopieren
3), fair (Dritter): Anfragen entsprechend der Antwortzeit des Back-Ends zuordnen Server und diejenigen mit kurzen Antwortzeiten werden zuerst zugewiesen.

upstream test {        fair;
        server localhost:8080;
        server localhost:8081;
}
Nach dem Login kopieren
4), url_hash (Dritter): Fragen Sie das Hash-Ergebnis der URL ab, um Anfragen zuzuordnen, sodass jede URL an denselben Backend-Server weitergeleitet wird. Es ist effektiver, wenn der Backend-Server zwischengespeichert ist

upstream backend {        hash $request_uri;
        hash_method crc32;
        server localhost:8080;
        server localhost:8081;
    }
Nach dem Login kopieren
5) , Standard: Follow Time wird verschiedenen Maschinen gleichzeitig zugewiesen

rrree

3. Nginx selbst ist auch ein statischer Ressourcenserver. Es ist jetzt auch sehr beliebt, statische Ressourcen von statischen Ressourcen zu trennen. Schauen wir uns zunächst Nginx als statischen Ressourcenserver an. Wenn Sie auf http://localhost zugreifen Greifen Sie standardmäßig darauf zu. Wenn eine Website nur eine statische Seite ist, können Sie sie auf diese Weise bereitstellen:

root

Wenn nur statische Ressourcen vorhanden sind, können Sie Nginx als Server verwenden Proxy unterstützt kein HTTPS

Forward-Proxy bedeutet eine Verbindung zwischen dem Client und dem Originalserver (Ursprungsserver). Um Inhalte vom Originalserver zu erhalten, sendet der Client eine Anfrage an den Proxy und gibt das Ziel (Original) an Server) und dann leitet der Proxy die Anfrage an den ursprünglichen Server weiter und gibt den erhaltenen Inhalt an den Client zurück. Nur Clients können Forward-Proxys verwenden. Wenn Sie Ihren Server als Proxyserver verwenden müssen, können Sie Nginx zum Implementieren eines Forward-Proxys verwenden. Derzeit gibt es jedoch ein Problem, nämlich die statische Trennung von HTTPS Wird in dynamischen Websites verwendet. Dynamische Webseiten unterscheiden konstante Ressourcen von sich häufig ändernden Ressourcen. Nachdem die dynamischen und statischen Ressourcen aufgeteilt wurden, können wir sie entsprechend den Eigenschaften der statischen Ressourcen zwischenspeichern Website. Ideen.

upstream test {
        server localhost:8080;
        server localhost:8081;
    }
    server {
        listen       80;                                                        
        server_name  localhost;                                              
        client_max_body_size 1024M;

        location / {
            proxy_pass http://test;
            proxy_set_header Host $host:$server_port;
        }
    }
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas sind die häufigsten Anwendungsszenarien von Nginx?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage