Docker nginx implementiert einen Host zum Bereitstellen mehrerer Sites

Docker nginx implementiert einen Host zum Bereitstellen mehrerer Sites

Die virtuelle Maschine, die ich von einer bestimmten Site gemietet habe, läuft bald ab und die Verlängerungsgebühr beträgt mehr als 200 Yuan. Wenn ich darüber nachdenke, einen neuen Server in Alibaba Cloud zu kaufen, kann ich diesen auch gleich dorthin übertragen. Ich werde den echten Domänennamen verwenden. Bitte hacken Sie meine Website nicht. Vielen Dank.

Alibaba Cloud hat eine Site bereitgestellt, auf die über den Domänennamen www.dcssn.com direkt zugegriffen werden kann. Meine Idee ist, www.xhxf119.com zu verwenden, um auf diesen Host zu verweisen und auf der Grundlage verschiedener Domänennamen auf verschiedene Dienste zuzugreifen.

Erste

Die Domänennamenauflösung muss auf die IP-Adresse dieses Hosts verweisen.

Dann

Der Dienst von www.dcssn.com öffnet Port 8080, docker run -p 8080:80 weian

Der Dienst www.xhxf119.com öffnet Port 8081, Docker Run -p 8081:80 xinhua

www.dcssn.com:8080 kann zugreifen www.xhxf119.com:8081 kann auch zugreifen

Als nächstes schreiben Sie die nginx-Konfigurationsdatei

nginx.conf
Arbeiterprozesse 1;
Ereignisse {
 Arbeiterverbindungen 1024;
}
http {
 mime.types einschließen;
 Standardtyp Anwendung/Oktett-Stream;
 sendfile an;
 KeepAlive-Timeout 65;
 Server
 {
  hören Sie 80;
  Servername www.dcssn.com;
  Standort / {
  Proxy_Redirect aus;
  Proxy_Set_Header Host $host;
  Proxy_Set_Header X-Real-IP $Remote_Addr;
  proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for;
  Proxy-Passwort http://47.92.69.112:8080;
  }
 }
 
 Server
 {
  hören Sie 80;
  Servername www.xhxf119.com;
  Standort / {
  Proxy_Redirect aus;
  Proxy_Set_Header Host $host;
  Proxy_Set_Header X-Real-IP $Remote_Addr;
  proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for;
  Proxy-Passwort http://47.92.69.112:8081;
  }
 }
}

Speichern Sie diese Datei dann im Verzeichnis /host/path/

docker run --name mein-benutzerdefinierter-nginx-container -v /host/Pfad/nginx.conf:/etc/nginx/nginx.conf:ro -d -p 80:80 nginx

Der allgemeine Prozess ist wie folgt. Sie können direkt www.dcssn.com oder www.xhxf119.com aufrufen, um

Zusätzliches Wissen: Docker konfiguriert nginx so, dass mehrere Subdomänen unterstützt werden, die verschiedenen Projektverzeichnissen entsprechen

Es besteht die Möglichkeit einer Reverse-Proxy-Verteilung

Für spezifische PHP- und Nginx-Konfigurationen siehe bitte das Setup in meinem Blog

cd /root/nginx/conf/conf.d

vim runoob-test-php.conf

Der Inhalt der Datei runoob-test-php.conf ist eigentlich das Verzeichnis, das der Subdomäne entspricht.

Server {
 hören Sie 80;
 Servername www.liuyuanshan.top;

 Standort / {
  #Proxy_Passwort http://106.52.36.65:80;
  root /usr/share/nginx/html;
  index.php index.html index.htm;
 }

 Fehlerseite 500 502 503 504 /50x.html;
 Standort = /50x.html {
  root /usr/share/nginx/html;
 }

 Standort ~ \.php$ {
  fastcgi_pass php:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
  fastcgi_params einschließen;
 }
}

Server {
 hören Sie 80;
 Servername message.liuyuanshan.top;

 Standort / {
  root /usr/share/nginx/html/message/;
  index.php index.html index.htm;
 }

 Fehlerseite 500 502 503 504 /50x.html;
 Standort = /50x.html {
  root /usr/share/nginx/html;
 }
 Standort ~ \.php$ {
  fastcgi_pass php:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME /var/www/html/message/$fastcgi_script_name;
  fastcgi_params einschließen;
 }
}


Server {
 hören Sie 80;
 Servername wordpress.liuyuanshan.top;

 Standort / {
  root /usr/share/nginx/html/wordpress/;
  index.php index.html index.htm;
 }

 Fehlerseite 500 502 503 504 /50x.html;
 Standort = /50x.html {
  root /usr/share/nginx/html;
 }
 Standort ~ \.php$ {
  fastcgi_pass php:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME /var/www/html/wordpress/$fastcgi_script_name;
  fastcgi_params einschließen;
 }
}

Starten Sie den Nginx-Container von Docker neu

Docker startet Nginx neu

Der obige Artikel über die Bereitstellung mehrerer Sites auf einem Host mit Docker Nginx ist alles, was ich mit Ihnen teilen kann. Ich hoffe, er kann Ihnen als Referenz dienen und ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Verarbeitung der drei Docker Nginx-Protokolle
  • Docker Nginx-Container und Tomcat-Container zur Realisierung von Lastausgleich und dynamischen und statischen Trennungsvorgängen
  • Docker stellt nginx bereit und mountet Ordner und Dateioperationen
  • Docker-Bereitstellung - Nginx-Implementierungsprozess - Grafik und Text - detaillierte Erläuterung
  • So stellen Sie ein Vue-Projekt mit Docker-Image + nginx bereit
  • Methoden und Schritte zum Erstellen eines Docker-basierten Nginx-Dateiservers
  • So erstellen Sie einen Nginx-Image-Server mit Docker
  • Implementierungsmethode für die Produktion und Bereitstellung von Docker Nginx-Containern

<<:  Detaillierte Schritte zur Verwendung von AES.js in Vue

>>:  Detaillierte Erläuterung der persistenten MySQL-Statistiken

Artikel empfehlen

JavaScript implementiert die asynchrone Übermittlung von Formulardaten

In diesem Artikelbeispiel wird der spezifische Ja...

Einführung in Keyword-Design-Methoden im Webdesign

Häufig ignorieren wir beim Erstellen der Homepage ...

MySQL-Gruppierungsabfragen und Aggregatfunktionen

Überblick Ich glaube, dass wir häufig auf solche ...

Häufig verwendete JavaScript-Array-Methoden

Inhaltsverzeichnis 1. filter() 2. fürJedes() 3. e...

Detaillierte Erläuterung der vier Transaktionsisolationsebenen in MySQL

Die Testumgebung dieses Experiments: Windows 10+c...

Natives JS zur Implementierung eines atmenden Karussells

Heute zeige ich Ihnen ein mit nativem JS implemen...

Beschreibung des MySQL-Optimierungsparameters query_cache_limit

query_cache_limit query_cache_limit gibt die Puff...

JavaScript CSS3 zur Implementierung einer einfachen Video-Sperrfunktion

In diesem Artikel wird versucht, eine Demo zur Si...

Detaillierter Code zum Hinzufügen von Electron zum Vue-Projekt

1. Fügen Sie package.json hinzu "Haupt"...

Die Vue-Konfigurationsdatei generiert automatisch Routing- und Menüinstanzcode

Inhaltsverzeichnis Vorne geschrieben router.json ...

Netzwerkkonfiguration des Host Only+NAT-Modus unter VirtualBox

Die Netzwerkkonfiguration des Host Only+NAT-Modus...