Führen Sie die Schritte für die Trennung von Nginx-Proxy-Frontend und Backend mit demselben Domänennamen aus.

Führen Sie die Schritte für die Trennung von Nginx-Proxy-Frontend und Backend mit demselben Domänennamen aus.

Die Front-End- und Back-End-Projekte sind getrennt und Front-End und Back-End teilen sich einen Domänennamen. Die Frontend- und Backend-Projekte werden durch das URL-Präfix nach dem Domänennamen unterschieden.

Nehmen Sie das Vue + PHP-Projekt als Beispiel. Gehen Sie direkt zur Nginx-Konfiguration des Servermoduls.

Server
 {
 hören Sie 80;
 #listen [::]:80 Standardserver ipv6only=ein;
 server_name demo.com; #Projektdomänennamen konfigurieren index index.html index.htm index.php;

 # 1. Übergabe an das Frontend zur Verarbeitungsstelle /
 {
  # Das statische Verzeichnis nach dem Front-End-Verpackungsalias /home/wwwroot/default/vue-demo/dist/;
 }

 # 2. Übertragung an das Backend zur Verarbeitung Standort /api/ {
  Versuchen Sie_Dateien $uri $uri/ /index.php?$query_string;
 }

 # 3. Abschließend wird PHP hier auf fpm übertragen
 Standort ~ [^/]\.php(/|$)
 {
  # Stammverzeichnis des Backend-Projekts /home/wwwroot/default/demo/public/;
  #fastcgi_pass 127.0.0.1:9000;
  fastcgi_pass unix:/tmp/php-cgi.sock;
  fastcgi_index index.php;
  fastcgi.conf einschließen;
  pathinfo.conf einschließen;
 }

 # 4. Verarbeitung des statischen Backend-Ressourcenstandorts /public/ {
  Alias ​​/home/wwwroot/default/demo/public/uploads/;
 }

 #Fehlerseite 404 /404.html;

 Zugriffsprotokoll /home/wwwlogs/access.log main;
}

Einfache Erklärung

  • Wenn auf den Domänennamen das Präfix /api/ folgt, wird er zur Verarbeitung an das Backend weitergeleitet.
  • Durch das Anhängen des Präfixes /uploads/ nach dem Domänennamen wird auf die statischen Ressourcen im Backend zugegriffen.
  • Aufgrund des Prinzips der genauen Standortzuordnung werden alle Besuche außer den oben genannten an den ersten Standort weitergeleitet, der auf die Front-End-Seite zugreift.

Zum Beispiel:

Zugriff auf die Artikellistenschnittstelle

Holen Sie sich https://demo.com/api/posts

Auf hochgeladene Bilder zugreifen

GET-Upload/2022/web/xxx.jpg

Besuchen Sie die Frontend-Homepage

Holen Sie sich https://demo.com/

Zur Artikelseite

Holen Sie sich https://demo.com/posts

PS: Am Ende des Aliaspfades muss ein / stehen.

Zusammenfassen

Dies ist das Ende dieses Artikels über das Projekt zur Trennung von Front-End und Back-End des Nginx-Proxys mit gleichem Domänennamen. Weitere verwandte Inhalte zum Projekt zur Trennung von Front-End und Back-End des Nginx-Proxys mit gleichem Domänennamen finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Denken und Praxis der Trennung von Front-End und Back-End basierend auf NodeJS (VI) Praxis der Bereitstellung von Software-Stacks von Nginx + Node.js + Java
  • Vollständige Schritte zum Bereitstellen einer Front-End- und Back-End-getrennten Nginx-Konfiguration
  • Beispielcode zur Trennung von Front-End und Back-End mit nginx+vue.js
  • Nginx realisiert die Trennung von Front-End und Back-End
  • Detaillierte Erläuterung des Front-End- und Back-End-Bereitstellungstutorials basierend auf Vue und Nginx

<<:  Detaillierte Erklärung der Ausführungsunterschiede zwischen count(1), count(*) und count(Spaltenname)

>>:  Vue3 kapselt die Textskelett-Effektkomponente der Seitennavigation

Artikel empfehlen

jQuery-Plugin für ein nahtloses Karussell

Ein nahtloses Karussell ist ein sehr häufiger Eff...

Lösung für Linux, das nicht alle Befehle unterstützt

Was soll ich tun, wenn Linux nicht alle Befehle u...

So kapseln Sie Axios in Vue

Inhaltsverzeichnis 1. Installation 1. Einleitung ...

So stellen Sie eine Nextcloud-Netzwerkfestplatte mit Docker bereit

NextCloud Sie können beliebige Dateien oder Ordne...

Installationsschritte für die chinesische Eingabemethode von Ubuntu 20.04

Dieser Artikel installiert die Google-Eingabemeth...

Lösung für das Versagen von Docker beim Freigeben von Ports

Heute bin ich auf eine sehr seltsame Situation ge...

Detaillierte Erklärung der Linux-CPU-Last und CPU-Auslastung

CPU-Last und CPU-Auslastung Beides kann bis zu ei...

Detaillierte Untersuchung des Problems der Array-Deduplizierung in JavaScript

Inhaltsverzeichnis Vorwort 👀 Beginnen Sie mit der...

Beispielcode zum Ändern des Textstils der Eingabeaufforderung in HTML

Auf vielen Websites wird im Eingabefeld Hinweiste...

Eine vollständige Liste häufig verwendeter Linux-Befehle (empfohlene Sammlung)

Inhaltsverzeichnis 1. Systeminformationen 2. Shut...

Eine kurze Diskussion über den CSS-Kaskadierungsmechanismus

Warum hat CSS einen Kaskadierungsmechanismus? Da ...

Vergleichstabelle für HTML-Sondersymbole auf Webseiten

Sondersymbole Benannte Entitäten Dezimalkodierung...

Analysieren Sie, wie eine SQL-Abfrageanweisung in MySQL ausgeführt wird

Inhaltsverzeichnis 1. Übersicht über die logische...

MySQL-Installationsinformationen unter Linux-Server anzeigen

Sehen Sie sich die Installationsinformationen von...