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 installieren Sie Mysql5.7 in Centos6

Umfeld Centos 6.6 MySQL 5.7 Installieren Falls da...

Häufig verwendete HTML-Meta-Enzyklopädie (empfohlen)

Der Meta-Tag ist ein Hilfstag im Head-Bereich der...

Übersicht über die Unterschiede zwischen Linux TTY/PTS

Wenn wir einen Buchstaben auf der Tastatur eingeb...

Div verschachteltes HTML ohne Iframe

Als ich kürzlich Hausaufgaben machte, musste ich e...

Beispiel einer Autorisierungsüberprüfungsmethode von Nest.js

Inhaltsverzeichnis 0x0 Einführung 0x1 RBAC-Implem...

...

CocosCreator Typescript macht Tetris-Spiel

Inhaltsverzeichnis 1. Einleitung 2. Mehrere wicht...

Lösen Sie das Problem des unzureichenden Docker-Festplattenspeichers

Nachdem der Server, auf dem sich Docker befindet,...

So starten Sie ein JAR-Paket und führen es unter Linux im Hintergrund aus

Der Linux-Befehl zum Ausführen des JAR-Pakets lau...