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

Ein Artikel zum Lösen des Echarts-Kartenkarussell-Highlights

Inhaltsverzeichnis Vorwort Aufgabenliste tun Sie ...

Allgemeiner Hinweis zum MySQL-Ereignisplaner (unbedingt lesen)

Überblick MySQL verfügt auch über einen eigenen E...

Zusammenfassung der grundlegenden allgemeinen MySQL-Befehle

Inhaltsverzeichnis Grundlegende allgemeine MySQL-...

Vergleich zweier Implementierungsmethoden der Vue-Dropdown-Liste

Zwei Implementierungen der Vue-Dropdown-Liste Die...

Detaillierte Anwendungsfälle von MySql Escape

MySQL-Escape Escape bedeutet die ursprüngliche Se...

CSS3-Implementierungsbeispiel zum Drehen nur des Hintergrundbildes um 180 Grad

1. Mentale Reise Als ich kürzlich das Cockpit sch...

Detaillierte Erläuterung der DOM-Stileinstellungen in vier Reaktionskomponenten

1. Inline-Stile Um Inline-Stile zum virtuellen DO...

Detaillierte Analyse der Unterschiede zwischen break und last in Nginx

Lassen Sie uns zunächst über den Unterschied spre...

Vor- und Nachteile von React Hooks

Inhaltsverzeichnis Vorwort Vorteil: Mangel: 1. Re...

Transkript der Implementierung berechneter Vue-Eigenschaften

In diesem Artikel wird das Implementierungszeugni...

Das Implementierungsprinzip der MySQL-Master-Slave-Synchronisation

1. Was ist MySQL Master-Slave-Synchronisierung? W...

Detaillierte Erklärung der MySQL Master-Slave-Inkonsistenz und Lösungen

1. MySQL Master-Slave-Asynchronität 1.1 Netzwerkv...