Implementierung der Nginx-Konfiguration für den Multi-Port- und Multi-Domain-Name-Zugriff

Implementierung der Nginx-Konfiguration für den Multi-Port- und Multi-Domain-Name-Zugriff

Um mehrere Sites auf einem Server bereitzustellen, müssen Sie mehrere Ports öffnen, um auf verschiedene Sites zuzugreifen. Der Vorgang ist sehr einfach. Das Debuggen dauerte 2 Stunden. Hier ist ein Datensatz:

Hauptdomänenname - Multiport-Zugriff

Einrichten eines A-Eintrags im DNS-Nameserver

Richten Sie www.xxx.com auf die Server-IP

Öffnen Sie die erforderlichen Ports und ändern Sie die Nginx-Konfigurationsdatei

Beispielsweise haben wir zwei Dienste auf Port 80 bzw. Port 8080 geöffnet.

Wenn iptable vorhanden ist, öffnen Sie zuerst den Port:

iptables -A INPUT -ptcp --dport 80 -j AKZEPTIEREN
iptables -A INPUT -ptcp --dport 8080 -j AKZEPTIEREN

Ändern Sie die Konfigurationsdatei:

#Pfad: /usr/local/nginx/conf/nginx.conf

Server {
hören Sie 80;
Servername www.xxx.com;
access_log /data/www/log/33.33.33.33_nginx.log kombiniert;
index.html index.htm index.php;
Schließen Sie /usr/local/nginx/conf/rewrite/none.conf ein.
Stamm /data/www/website/33.33.33.33:80;


Standort ~ [^/]\.php(/|$) {
  fastcgi_pass unix:/dev/shm/php-cgi.sock;
  fastcgi_index index.php;
  fastcgi.conf einschließen;
  }
Standort ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
  läuft in 30 Tagen ab;
  Zugriff_Abmeldung;
  }
Standort ~ .*\.(js|css)?$ {
  läuft am 7. Tag ab;
  Zugriff_Abmeldung;
  }
}
Server {
hören Sie 8080;
Servername A.xxx.com;
access_log /data/www/log/33.33.33.33:8080_nginx.log kombiniert;
index.html index.htm index.php;
Schließen Sie /usr/local/nginx/conf/rewrite/none.conf ein.
root /data/www/website/33.33.33.33:8080;


Standort ~ [^/]\.php(/|$) {
  fastcgi_pass unix:/dev/shm/php-cgi.sock;
  fastcgi_index index.php;
  fastcgi.conf einschließen;
  }
Standort ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
  läuft in 30 Tagen ab;
  Zugriff_Abmeldung;
  }
Standort ~ .*\.(js|css)?$ {
  läuft am 7. Tag ab;
  Zugriff_Abmeldung;
  }
}

Der Schlüssel sind die beiden Serverabschnitte. Sie können diese beiden Abschnitte auch in zwei Konfigurationsdateien aufteilen und in

/etc/nginx/conf.d/

Unterhalb des Verzeichnisses;

Subdomain-Multiport-Zugriff

Diese Art des Zugriffs ist unsinnig, da Ihr Zugriff auf Port 8080 im Format http://xxx.com:8080; erfolgen muss.

Und was sollen wir tun, wenn es zwei unterschiedliche CGIs gibt, beispielsweise Port 80 einem PHP-Webdienst entspricht und Port 8080 einem Node.JS-Webdienst; und unser Node.JS wird mit einem Webdienst geliefert, der bereits auf Port 8080 lauscht?

Zu diesem Zeitpunkt benötigen wir die Reverse-Proxy-Funktion von Nginx und fügen einen A-Eintrag auf dem DNS-Server hinzu, um dies endlich zu erreichen

  • www.xxx.com greift auf Port 80 zu
  • A.xxx.com greift über die Nginx-Weiterleitung auf Port 8080 zu

Einen A-Eintrag hinzufügen

Richten Sie A.xxx.com auf die Server-IP

Die Nginx-Konfigurationsvorlage sieht wie folgt aus:

#Pfad: /usr/local/nginx/conf/nginx.conf

Server {
  hören Sie 80;
  Servername www.xxx.com;
  access_log /data/www/log/33.33.33.33_nginx.log kombiniert;
  index.html index.htm index.php;
  Schließen Sie /usr/local/nginx/conf/rewrite/none.conf ein.
  Stamm /data/www/website/33.33.33.33:80;


  Standort ~ [^/]\.php(/|$) {
    fastcgi_pass unix:/dev/shm/php-cgi.sock;
    fastcgi_index index.php;
    fastcgi.conf einschließen;
    }
  Standort ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
    läuft in 30 Tagen ab;
    Zugriff_Abmeldung;
    }
  Standort ~ .*\.(js|css)?$ {
    läuft am 7. Tag ab;
    Zugriff_Abmeldung;
    }
}

Server {
  hören Sie 80;
  hören [::]:80;

  Servername A.XXX.com;

  Proxy-Verbindungs-Timeout 300 s;
  Proxy_Sendezeitüberschreitung 300 s;
  Proxy_Lese_Timeout 300 s;
  fastcgi_send_timeout 300 s;
  fastcgi_read_timeout 300 s;

  Standort / {
    Proxy-Passwort http://127.0.0.1:3000;
    Proxy_http_Version 1.1;
    Proxy_Set_Header-Upgrade $http_upgrade;
    proxy_set_header Verbindung „Upgrade“;
    Proxy_Set_Header Host $host;
    Proxy-Cache-Bypass $http_upgrade;
    versuche_dateien $uri $uri/ =404;
  }
}

nginx lädt die Konfigurationsdatei neu

nginx -s neu laden

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Lösen Sie das Problem der Änderung des Konfigurationszugriffs von tp5 unter nginx
  • So konfigurieren Sie Nginx, um die Zugriffshäufigkeit derselben IP zu begrenzen
  • Schritte zum Konfigurieren von Nginx SSL zur Implementierung des HTTPS-Zugriffs (für Anfänger geeignet)
  • So konfigurieren Sie Nginx, um zwischen dem PC- oder Mobiltelefonzugriff auf verschiedene Domänennamen zu unterscheiden
  • Detaillierte Erläuterung der Nginx-Zugriffsbeschränkungskonfiguration
  • Detaillierte Erläuterung der SSL-Modulkonfiguration von Nginx zur Unterstützung des HTTPS-Zugriffs
  • So verwenden Sie nginx zum Konfigurieren des Zugriffs auf wgcloud

<<:  Detaillierte Erklärung zur Verwendung der React-Listenleiste und der Warenkorbkomponenten

>>:  Detaillierte Erläuterung der Vorgänge zum Hinzufügen, Löschen und Ändern der MySQL-Datenbank

Artikel empfehlen

So ändern Sie schnell die Tabellenstruktur einer MySQL-Tabelle

Tabellenstruktur einer MySQL-Tabelle schnell ände...

So schreiben Sie asynchrone Aufgaben in modernem JavaScript

Vorwort In diesem Artikel untersuchen wir die Ent...

Einige Tipps zur Verwendung von Less in Vue-Projekten

Inhaltsverzeichnis Vorwort 1. Stildurchdringung 1...

Lösung für das Textüberlaufproblem auf CSS-Flex-Basis

Die unbedeutende flex-basis hat bei der kleinen F...

Detaillierter Installationsprozess von Jenkins unter Linux

Inhaltsverzeichnis 1. Installieren Sie JDK 2. Jen...

Miniprogramm zur Implementierung einer einfachen Listenfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Einige Fallstricke beim JavaScript Deep Copy

Vorwort Als ich zuvor zu einem Vorstellungsgesprä...