Detailliertes Beispiel für die Bereitstellung der dynamischen und statischen Trennung von Nginx+Apache

Detailliertes Beispiel für die Bereitstellung der dynamischen und statischen Trennung von Nginx+Apache

Einführung in die dynamische und statische Trennung von Nginx

Nginx verfügt über starke statische Verarbeitungsfunktionen, aber unzureichende dynamische Verarbeitungsfunktionen. Daher verwenden Unternehmen häufig dynamische und statische Trennungstechnologien, um PHP von dynamisch und statisch zu trennen.

  • Statische Seiten werden von Nginx verwaltet
  • Dynamische Seiten werden vom PHP-FPM-Modul oder Apache verarbeitet

In der Nginx-Konfiguration werden durch das Standortkonfigurationssegment und den regulären Abgleich unterschiedliche Verarbeitungsmethoden für statische und dynamische Seiten implementiert.

Reverse-Proxy-Prinzip

Nginx kann nicht nur als Webserver verwendet werden, sondern verfügt auch über die Funktionen Reverse-Proxy, Lastausgleich und Caching.

Nginx verwendet das Proxy-Modul, um die Clientanforderung an den Upstream-Server weiterzuleiten. Zu diesem Zeitpunkt wird die Verbindung zwischen Nginx und dem Upstream-Server über das HTTP-Protokoll hergestellt.

Die wichtigste Anweisung von Nginx bei der Implementierung der Reverse-Proxy-Funktion ist proxy_pass, das Benutzeranforderungen entsprechend der URI, den Client-Parametern oder einer anderen Verarbeitungslogik an den Upstream-Server weiterleiten kann.

Konfigurieren Sie Nginx, um eine dynamische und statische Trennung zu erreichen

In diesem Fall wird Nginx entsprechend den Anforderungen des Unternehmens so konfiguriert, dass eine dynamische und statische Trennung erreicht wird. Anforderungen für PHP-Seiten werden zur Verarbeitung an LAMP weitergeleitet, während statische Seiten zur Verarbeitung an Nginx übergeben werden, um eine dynamische und statische Trennung zu erreichen.

Die Architektur ist in der Abbildung dargestellt

Bildbeschreibung hier einfügen

Konfigurationsschritte

1. Einrichten und Debuggen der Backend-LAMP-Umgebung

①Installieren Sie den Apache-Dienst

[root@localhost ~]# yum install httpd httpd-devel -y

②Legen Sie die Berechtigungen für den HTTP-Dienst in der Firewall fest

[root@localhost ~]# Firewall-cmd --permanent --zone=public --add-service=http
Erfolg
[root@localhost ~]# Firewall-cmd --permanent --zone=public --add-service=https
Erfolg   
[root@localhost ~]# Firewall-cmd --reload 
Erfolg
[root@localhost ~]# systemctl start httpd

③Installieren Sie MariaDB

Das Datenbankverwaltungssystem MariaDB ist ein Zweig von MySQL, der hauptsächlich von der Open-Source-Community gepflegt und unter der GPL lizenziert wird. Der Zweck von MariaDB besteht darin, vollständig mit MySQL kompatibel zu sein, einschließlich API und Befehlszeile, sodass es problemlos als Ersatz für MySQL dienen kann.

[root@localhost ~]# yum installiere MariaDB MariaDB-Server MariaDB-Libs MariaDB-Devel -y
[root@localhost ~]# systemctl starte mariadb.service

④MySQL-Sicherheitskonfigurationsassistent

[root@localhost ~]# mysql_secure_installation

⑤Installieren Sie PHP und unterstützende Software

[root@localhost ~]# yum install php -y
[root@localhost ~]# yum installiere php-mysql -y
[root@localhost ~]# yum installiere php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath -y

⑥Ändern Sie die Hauptseite der Website

[root@localhost ~]# cd /var/www/html
[root@localhost html]# vim index.php
<?php
  echo "Dies ist das Apache-Testweb";
?>

[root@localhost html]# systemctl restart httpd

⑦Zugriffstest, geben Sie die URL http://192.168.150.214/index.php ein

Bildbeschreibung hier einfügen

2. Kompilieren und installieren Sie nginx

①Supportsoftware installieren

[root@localhost ~]# yum installiere gcc gcc-c++ pcre-devel zlib-devel -y

②Laufende Benutzer und Gruppen erstellen

[root@localhost ~]# useradd -M -s /sbin/nologin nginx

③Kompilieren und installieren

[root@localhost LNMP-C7]# tar zxvf nginx-1.12.2.tar.gz -C /opt
[root@localhost LNMP-C7]# cd /opt/nginx-1.12.2/
[root@localhost nginx-1.12.2]# ./konfigurieren \
> --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --mit-http_stub_status_module

[root@localhost nginx-1.12.2]# make && make install
[root@localhost nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin

④Service-Management-Kontrolle

[root@localhost ~]# vim /etc/init.d/nginx
#!/bin/bash
# chkconfig: -99 20
# Beschreibung: Ngins Service Control Skript
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
Fall "$1" in
Start)
  $PROG
  ;;
stoppen)
  töten -s BEENDEN $(Katze $PIDF)
  ;;
Neustart)
   $0 Stopp
   $0 Start
   ;;
neu laden
   töten -s HUP $(Katze $PIDF)
   ;;
*)
   echo "Verwendung: $0 {start|stop|restart|reload}"
   Ausfahrt 1
esac
Ausfahrt 0

[root@localhost ~]# chmod +x /etc/init.d/nginx
[root@localhost ~]# chkconfig --add nginx
[root@localhost ~]# Dienst nginx starten

⑤Starten Sie den Dienst

[root@nginx ~]# systemctl stoppe firewalld.service
[root@nginx ~]# setenforce 0
[root@nginx ~]# Dienst nginx starten

⑥Konfigurieren Sie Nginx für die Verarbeitung dynamischer Seitenanforderungen

[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
    Standort ~ \.php$ {
      Proxy-Passwort http://192.168.150.214;
    }

[root@nginx ~]# Dienst nginx neu starten

⑦Zugangstest

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

Zusammenfassen

Oben ist ein ausführliches Beispiel für die Bereitstellung der dynamischen und statischen Trennung von Nginx+Apache, das vom Herausgeber eingeführt wurde. Ich hoffe, es wird allen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

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
  • Beispielcode für Nginx zur Erreichung dynamischer und statischer Trennung
  • Nginx implementiert dynamische und statische Trennung Beispielerklärung
  • 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

<<:  So vereinheitlichen Sie den Zeichensatz einer vorhandenen MySQL-Datenbank

>>:  Ein einfaches Beispiel für die Verwendung von Vue3-Routing VueRouter4

Artikel empfehlen

Mit CSS3 3D-Effekten einen Würfel erstellen

Wenn wir lernen, die 3D-Effekte von CSS3 zum Erst...

So rufen Sie die Browser-Sharing-Funktion in Vue auf

Vorwort Vue (ausgesprochen /vjuː/, ähnlich wie vi...

jQuery implementiert die Anzeige und Ausblendung von Anzeigenanimationen

Wir sehen oft, dass Anzeigen nach ein paar Sekund...

CSS - overflow:hidden in Projektbeispielen

Hier sind einige Beispiele, wie ich diese Eigensch...

Detailliertes Tutorial zum Bereitstellen eines Django-Projekts unter CentOS

Grundlegende Umgebung Pagoden-Montageservice [Pyt...

So wählen Sie die Transaktionsisolationsebene in einem MySQL-Projekt

Einführung Beginnen wir mit unserem Inhalt. Ich g...

Mehrere wichtige MySQL-Variablen

Es gibt viele MySQL-Variablen, von denen einige u...

Grundlegende Kenntnisse zum MySQL UNION-Operator

MySQL UNION-Operator Dieses Tutorial stellt die S...