Heim >Betrieb und Instandhaltung >Nginx >Was sind die häufigsten Anwendungsszenarien von Nginx?

Was sind die häufigsten Anwendungsszenarien von Nginx?

王林
王林nach vorne
2020-09-11 16:18:235982Durchsuche

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>
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服务器
    }
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;
    }
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;
}
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;
    }
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;
        }
    }

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen