Mehrere Methoden zum Bereitstellen mehrerer Front-End-Projekte mit nginx

Mehrere Methoden zum Bereitstellen mehrerer Front-End-Projekte mit nginx

Ich habe 3 Methoden zusammengefasst, um mehrere Front-End-Projekte mit nginx auf einem Server bereitzustellen.

  • Domänennamenbasierte Konfiguration
  • Portbasierte Konfiguration
  • Basierend auf der Standortkonfiguration

Bevor wir beginnen, werfen wir einen Blick auf die Standardkonfigurationsdatei für die nginx-Installation: /etc/nginx/nginx.conf-Datei

Sie können in der Abbildung sehen: include /usr/nginx/modules/*.conf . Der Zweck dieses Satzes besteht darin, beim Start von nginx alle *.conf-Dateien im Verzeichnis /usr/nginx/modules/ zu laden. Daher können wir zur einfacheren Verwaltung unsere eigene xx.conf-Datei in diesem Verzeichnis definieren. Beachten Sie jedoch, dass es mit .conf enden muss.

Lassen Sie uns nach Abschluss der Einführung über die am häufigsten verwendete Methode sprechen, die viele Unternehmen online verwenden.

Domänennamenbasierte Konfiguration

Basierend auf der Domänennamenkonfiguration wird davon ausgegangen, dass zuerst die Domänennamenauflösung konfiguriert wurde. Sie haben beispielsweise einen Domänennamen gekauft: www.fly.com. Anschließend haben Sie im Hintergrund zwei seiner Second-Level-Domänennamen konfiguriert: a.fly.com und b.fly.com.

Die Konfigurationsdateien lauten wie folgt:

Konfigurieren Sie die Konfigurationsdatei von a.fly.com:

vim /usr/nginx/modules/a.conf

Server {
        hören Sie 80;
        Servername a.fly.com;
        
        Standort / { 
                Stammverzeichnis /data/web-a/dist;
                Index Index.html;
        }
}

Konfigurieren Sie die Konfigurationsdatei von b.fly.com:

vim /usr/nginx/modules/b.conf

Server {
        hören Sie 80;
        Servername b.fly.com;
        
        Standort / { 
                Wurzel /Daten/Web-B/Dist;
                Index Index.html;
        }
}

Der Vorteil dieser Methode ist, dass der Host nur Port 80 öffnen muss. Anschließend können Sie darauf zugreifen, indem Sie direkt auf den Domänennamen der zweiten Ebene zugreifen.

Portbasierte Konfiguration

Die Konfigurationsdateien lauten wie folgt:

Konfigurieren Sie die Konfigurationsdatei von a.fly.com:

vim /usr/nginx/modules/a.conf

Server {
        hör zu 8000;
        
        Standort / { 
                Stammverzeichnis /data/web-a/dist;
                Index Index.html;
        }
}

# nginx-Port 80-Konfiguration (hört auf den sekundären Domänennamen a)
Server {
        hören Sie 80;
        Servername a.fly.com;
        
        Standort / {
                proxy_pass http://localhost:8000; #Weiter}
}

Konfigurieren Sie die Konfigurationsdatei von b.fly.com:

vim /usr/nginx/modules/b.conf

Server {
        hören Sie 8001;
        
        Standort / { 
                Wurzel /Daten/Web-B/Dist;
                Index Index.html;
        }
}

# nginx-Port 80-Konfiguration (hört auf den sekundären Domänennamen b)
Server {
        hören Sie 80;
        Servername b.fly.com;
        
        Standort / {
                proxy_pass http://localhost:8001; #Weiter}
}

Wie Sie sehen, werden mit dieser Methode insgesamt vier Server gestartet. Außerdem ist die Konfiguration weit weniger einfach als bei der ersten Methode. Daher wird sie nicht empfohlen.

Basierend auf der Standortkonfiguration

Die Konfigurationsdateien lauten wie folgt:

Konfigurieren Sie die Konfigurationsdatei von a.fly.com:

vim /usr/nginx/modules/ab.conf

Server {
        hören Sie 80;
        
        Standort / { 
                Stammverzeichnis /data/web-a/dist;
                Index Index.html;
        }
        
        Standort /web-b { 
                Alias ​​/data/web-b/dist;
                Index Index.html;
        }
}

Hinweis: Bei dieser Konfiguration ist der Speicherort/das Verzeichnis das Stammverzeichnis und die anderen müssen Aliase verwenden.

Wie Sie sehen, besteht der Vorteil dieser Methode darin, dass wir nur einen Server haben und keinen sekundären Domänennamen konfigurieren müssen. Und二級目錄sollte im Frontend-Projekt konfiguriert werden

Informationen zur React-Konfiguration finden Sie unter: https://blog.csdn.net/mollerlala/article/details/96427751

Informationen zur Vue-Konfiguration finden Sie unter: https://blog.csdn.net/weixin_33868027/article/details/92139392

Damit ist dieser Artikel über verschiedene Methoden zum Bereitstellen mehrerer Front-End-Projekte mit nginx abgeschlossen. Weitere Informationen zum Bereitstellen mehrerer Front-End-Projekte mit nginx finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der für das Front-End erforderlichen Nginx-Konfiguration
  • So verwenden Sie Nginx, um domänenübergreifende Front-End-Probleme zu lösen
  • Nginx-Konfiguration für die Front-End-Entwicklung (Szenario)
  • Detaillierte Erläuterung der Nginx-Frontend-Verteilungsmethode basierend auf $remote_addr
  • Detaillierte Erklärung, wie Nginx das Problem des domänenübergreifenden Zugriffs auf Front-End-Ressourcen löst
  • Detaillierte Erklärung, was nginx auf dem Frontend leisten kann

<<:  MySQL-Optimierung: So schreiben Sie hochwertige SQL-Anweisungen

>>:  Ein unverzichtbarer Karriereplan für Webdesigner

Artikel empfehlen

Befehl zum Entfernen (Löschen) eines symbolischen Links in Linux

Möglicherweise müssen Sie in Linux manchmal symbo...

Praktischer grundlegender Beispielcode für den Linux-Befehl sed

Der Linux-Stream-Editor ist eine nützliche Möglic...

Implementierungscode der CSS-Formularvalidierungsfunktion

Rendern Prinzip Im Formularelement gibt es ein Mu...

MySQL-Speicherung räumlicher Daten und Funktionen

Inhaltsverzeichnis 1. Datentyp 1. Was sind MySQL-...

So starten Sie ein Vue-Projekt mit dem M1 Pro-Chip

Inhaltsverzeichnis Einführung Homebrew installier...

Detaillierte Schritte zur Verwendung von AES.js in Vue

Verwendung der AES-Verschlüsselung Verschlüsselun...

Detailliertes Tutorial zur Installation von mysql-8.0.20 unter Linux

** Installieren Sie mysql-8.0.20 unter Linux ** U...

Lösung für das Problem der Werteübergabe zwischen HTML-Seiten

Als ich den Aufsatz zum ersten Mal verwendete, füh...

WeChat-Applet-Canvas implementiert Signaturfunktion

Im WeChat-Applet-Projekt umfasst das Entwicklungs...

So verbinden Sie JDBC mit MySQL 5.7

1. Bereiten Sie zunächst die MySQL- und Eclipse-U...