Nginx implementiert dynamische und statische Trennung Beispielerklärung

Nginx implementiert dynamische und statische Trennung Beispielerklärung

Um das Parsen der Website zu beschleunigen, können dynamische und statische Seiten von verschiedenen Servern geparst werden, um die Parsergeschwindigkeit zu erhöhen. Reduzieren Sie den Druck auf den ursprünglichen Einzelserver. Einfach ausgedrückt werden reguläre Ausdrücke zum Abgleichen und Filtern verwendet und anschließend an verschiedene Server gesendet.

1. Bereiten Sie die Umgebung vor

Bereiten Sie einen Nginx-Proxy für zwei HTTP vor, um jeweils dynamische und statische Daten zu verarbeiten.

1. Konfigurieren Sie das kompilierte und installierte Nginx als Upstream-Reverse-Proxy.

Upstream statisch {
Server 10.0.105.196:80 Gewicht=1 max_fails=1 Fail_Timeout=60s;
}
Upstream-PHP {
Server 10.0.105.200:80 Gewicht=1 max_fails=1 Fail_Timeout=60s;
}

Server {
listen server_name
#Dynamisches Laden von Ressourcen 80;
lokaler Host
Standort ~ \.(php|jsp)$ { Proxy-Passwort http://phpserver;

Proxy_set_header Host $host:$server_port; Proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for;
}

#Speicherort zum Laden statischer Ressourcen ~ \.(html|jpg|png|css|js)$ { proxy_pass http://static; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for;
}
}

Statische Ressourcenkonfiguration --- 10.0.105.196

Server {
hören Sie 80;
Servername localhost;

Standort ~ \.(html|jpg|png|js|css)$ { root /var/www/nginx;
}
}

Bilder hochladen

Dynamische Ressourcenkonfiguration: 10.0.105.200

yum installiere php7.1

[root@nginx-server ~]#rpm -Uvh https://mirror.webtatic.com/yum/el7/epel- release.rpm

[root@nginx-server ~]#rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic- release.rpm

[root@nginx-server ~]#yum installiere php71w-xsl php71w php71w-ldap php71w-cli php71w-common php71w-devel php71w-gd php71w-pdo php71w-mysql php71w-mbstring php71w-bcmath php71w-mcrypt -y

[root@nginx-server ~]#yum install -y php71w-fpm [root@nginx-server ~]#systemctl starte php-fpm [root@nginx-server ~]#systemctl aktiviere php-fpm

Bearbeiten Sie die Nginx-Konfigurationsdatei:

[root@nginx-server ~]# cd /etc/nginx/conf.d/ [root@nginx-server conf.d]# vim phpserver.conf server {

hören Sie 80;

Servername localhost; Standort ~ \.php$ {

root /home/nginx/html; #Geben Sie das Website-Verzeichnis an

fastcgi_pass fastcgi_index fastcgi_param

#Site-Stammverzeichnis, hängt vom Stammkonfigurationselement ab

enthalten

}

}

127.0.0.1:9000; #Geben Sie die Zugangsadresse an

: index.php;

#Geben Sie die Standarddatei an

SCRIPT_FILENAME $Dokumentstammsatz$fastcgi_script_name;

fastcgi_params; #Enthält nginx-Konstantendefinitionen

Beim Aufruf einer statischen Seite wird der Standort (html|jpg|png|js|css) abgeglichen und an den statischen Server weitergeleitet. Der statische Dienst ist

Zur Bearbeitung der Anfrage wird der reguläre Standortabgleich verwendet.

Beim Zugriff auf eine dynamische Seite gleicht der Speicherort die Datei mit der Endung .\php ab und leitet sie an den Backend-PHP-Dienst weiter, um die Anforderung zu verarbeiten.

Wissenspunkterweiterung:

Auf Wunsch abtrennen

[root@lb01 conf]# vim nginx.conf
Arbeiterprozesse 1;
Ereignisse {
  Arbeiterverbindungen 1024;
}
http {
  mime.types einschließen;
  Standardtyp Anwendung/Oktett-Stream;
  sendfile an;
  KeepAlive-Timeout 65;
Upstream-Stackpools {
    Server 172.25.254.134:80 Gewicht=5;
}
Upstream dynamische_Pools {
    Server 172.25.254.135:80 Gewicht=5;
}
  Server {
    hören Sie 80;
    Servername www.lbtest.com;
    Standort / {
      Stamm-HTML;
      Index Index.html Index.htm;
      Proxy_Set_Header Host $host;
      Proxy-Passwort http://dynamische_Pools;
    }
    Standort /Bild/ {
      Proxy_Set_Header Host $host;
    Proxy-Passwort http://stack_pools;
    }
    Standort /dynamisch/ {
      Proxy_Set_Header Host $host;
    Proxy-Passwort http://dynamische_Pools;
    }
  }
}
[root@lb01 conf]# nginx -s neu laden

Trennen durch Erweiterung

[root@lb01 conf]# vim nginx.conf

 Arbeiterprozesse 1;
Ereignisse {
  Arbeiterverbindungen 1024;
}
http {
  mime.types einschließen;
  Standardtyp Anwendung/Oktett-Stream;
  sendfile an;
  KeepAlive-Timeout 65;
Upstream-Stackpools {
    Server 172.25.254.134:80 Gewicht=5;
}
Upstream dynamische_Pools {
    Server 172.25.254.135:80 Gewicht=5;
}
  Server {
    hören Sie 80;
    Servername www.lbtest.com;
    Standort / {
      Stamm-HTML;
      Index Index.html Index.htm;
      Proxy_Set_Header Host $host;
      Proxy-Passwort http://dynamische_Pools;
    }
    Standort ~ .*.(jpg|png|gif|css|js|swf|bmp|jsp|php|asp)$ {
    Proxy_Set_Header Host $host;
    Proxy-Passwort http://stack_pools;
    }
  }
}
[root@lb01 conf]# nginx -s neu laden

Dies ist das Ende dieses Artikels über das Beispiel der Implementierung einer dynamischen und statischen Trennung mit nginx. Weitere relevante Inhalte zur Implementierung einer dynamischen und statischen Trennung mit nginx finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Grundlegendes Konfigurationsbeispiel von Nginx mit Apache oder Tomcat zur dynamischen und statischen Trennung
  • Verwenden von Nginx+uWsgi zum Trennen der dynamischen und statischen Teile der Django-Framework-Site von Python
  • Einfache Implementierung des Nginx+Tomcat-Reverse-Proxys und der dynamischen und statischen Trennung
  • Detaillierte Erklärung von Nginx zum Trennen von statischem und dynamischem Tomcat
  • nginx realisiert Lastausgleich und dynamische und statische Trennung
  • Nginx-Beispielcode zur Implementierung dynamischer und statischer Trennung
  • Detailliertes Beispiel für die Bereitstellung der dynamischen und statischen Trennung von Nginx+Apache
  • Beispielcode für Nginx zur Erreichung dynamischer und statischer Trennung
  • Implementierungsfallcodeanalyse für dynamische und statische Trennung von Nginx
  • Detaillierte Erläuterung des Prozesses zur Realisierung der dynamischen und statischen Trennung in Springmvc nginx
  • Docker Nginx-Container und Tomcat-Container zur Realisierung von Lastausgleich und dynamischen und statischen Trennungsvorgängen
  • Analyse des Prinzips von Nginx + Tomcat zur Erreichung eines Lastausgleichs sowie einer dynamischen und statischen Trennung
  • Das Prinzip und die Konfiguration des Nginx-Lastausgleichs sowie der dynamischen und statischen Trennung
  • Beispiel, wie nginx dynamische und statische Trennung implementiert
  • Detaillierte Anleitung für nginx von der Installation bis zur Konfiguration (Installation, Sicherheitskonfiguration, Anti-Hotlinking, dynamische und statische Trennung, HTTPS-Konfiguration, Leistungsoptimierung)
  • Implementierung des Nginx+Tomcat-Lastausgleichs und der dynamischen und statischen Clustertrennung
  • Server-Lastausgleich von Nginx + Tomcat zur Erzielung einer dynamischen und statischen Trennung
  • Implementierung und Beschreibung der dynamischen und statischen Trennungskonfiguration von Nginx

<<:  JS implementiert das Schere-Stein-Papier-Spiel

>>:  MySQL 8.0.18 Installations-Tutorial unter Windows (Abbildung)

Artikel empfehlen

Detaillierte Erläuterung des Problemfalls beim Löschen des Vue KeepAlive-Cache

Keepalive wird häufig zum Caching in Vue-Projekte...

Detaillierte Einführung und Verwendungsbeispiele für Map-Tag-Parameter

Karten-Tags müssen paarweise vorkommen, d. h. <...

Ausführliche Erklärung der Closure in JavaScript

Einführung Closure ist eine sehr leistungsstarke ...

Teilen Sie 13 hervorragende Web-Wireframe-Design- und Produktionstools

Wenn Sie mit der Arbeit an einem Projekt beginnen...

Verwenden Sie reines CSS, um das A-Tag in HTML ohne JavaScript zu deaktivieren

Tatsächlich ist dieses Problem bereits aufgetreten...

Implementierungscode für die teilweise Aktualisierung einer HTML-Seite

Aktualisierung der Ereignisantwort: Aktualisierun...

MySQL 5.6.24 (binär) automatisches Installationsskript unter Linux

In diesem Artikel wird der Skriptcode für die aut...

JavaScript zum Implementieren des Vorladens und verzögerten Ladens von Bildern

In diesem Artikel wird der spezifische Code zur I...

So verwenden Sie reguläre Ausdrucksabfragen in MySql

Reguläre Ausdrücke werden häufig verwendet, um Te...

Detaillierte Erklärung der Verwendung des Linux-Befehls „tee“

Der Befehl tee wird hauptsächlich verwendet, um d...