So stellen Sie nginx mit Docker bereit und ändern die Konfigurationsdatei

So stellen Sie nginx mit Docker bereit und ändern die Konfigurationsdatei

Nginx mit Docker bereitstellen, so einfach ist das

Nur eine Befehlszeile:

Docker-Ausführung \
 --name nginx-health-web-pc \
 -d -p 6800:80 \
 -v /usr/docker/nginx/html:/usr/share/nginx/html \
 nginx

Das Ausführen und Starten macht Spaß ~~~~~ Zu diesem Zeitpunkt erscheint plötzlich das Front-End und sagt: „Sie müssen Ihrem Nginx eine Konfiguration hinzufügen“ und sagt Ihnen auch: „Der und der hat es vorher so konfiguriert“,

Natürlich können Sie dies zu diesem Zeitpunkt nicht ablehnen, aber die eigentliche Konfiguration erfordert dennoch einige Überlegungen. Unter normalen Umständen wird Docker beim Start konfiguriert. Mounten Sie einfach das Verzeichnis der Konfigurationsdatei, was einfach und bequem ist. Nginx lädt jedoch zuerst eine Hauptkonfigurationsdatei nginx.conf und dann die Unterkonfigurationsdateien im Verzeichnis conf.d in nginx.conf (normalerweise mindestens eine Datei default.conf). Dies ist zwar wesentlich umständlicher, als ein Verzeichnis separat zu mounten, aber es ist nicht schwierig, solange Sie eine klare Vorstellung haben.

Schauen wir uns zunächst den gemounteten Befehl an:

Docker-Befehl starten

Docker-Ausführung \
 --name meinNginx \
 -d -p 80:80 \
 -v /usr/docker/myNginx/html:/usr/share/nginx/html \
 -v /etc/docker/myNginx/nginx.conf:/etc/nginx/nginx.conf:ro \
 -v /etc/docker/myNginx/conf.d:/etc/nginx/conf.d \
 nginx

Dabei sind einige Dinge zu beachten:

(1) Das erste "-v" ist der Projektspeicherort. Legen Sie das Projekt einfach in das Verzeichnis, in dem es gemountet ist.

(2) Das zweite „-v“ ist die Hauptkonfigurationsdatei „nginx.conf“, die gemountet wird. Beachten Sie, dass in der Datei „nginx.conf“ eine Zeile „include /etc/nginx/conf.d/*.conf;“ vorhanden ist. Dieses „include“ verweist auf den Pfad der Unterkonfigurationsdatei. Bitte beachten Sie, dass der Pfad nach „include“ nicht falsch sein darf.

(3) Das dritte „-v“ mountet auch den Pfad der Unterkonfigurationsdatei in Docker. Beachten Sie, dass dieser mit dem Pfad übereinstimmen muss, auf den Include in (2) zeigt.

(4) Es ist wichtig zu betonen, dass nginx.conf eine Datei mountet (Docker empfiehlt dies nicht) und conf.d ein Verzeichnis mountet

Starten wir es zunächst und stellen fest, dass ein Problem vorliegt, weil die Konfigurationsdatei noch nicht vorhanden ist.

Konfigurieren von Profilen

Wir finden die Konfigurationsdatei, die bei der Installation von nginx mit der herkömmlichen Methode generiert wird (normalerweise unter "/etc/nginx"), die dem Einhängeort im obigen Startbefehl entspricht, legen die Hauptkonfigurationsdatei nginx.conf am entsprechenden Speicherort "/etc/docker/myNginx/nginx.conf" ab und legen die Unterkonfigurationsdatei "default.conf" im Verzeichnis "/etc/docker/myNginx/conf.d" ab.

Führen Sie den Startbefehl erneut aus und stellen Sie fest, dass er bereits in Ordnung ist. Zu diesem Zeitpunkt können die Dateien im Docker nach Belieben konfiguriert werden, was genau der nativen Installation entspricht

Idee: Bei der Konfiguration müssen Sie eine Idee haben: Die gemountete Datei muss beim Ausführen in den Docker-Prozess geladen werden! Auf diese Weise kommt man nicht so schnell durcheinander.

---------------------------------------------------Trennlinie---------------------------------------------------

Poste meine Konfigurationsdatei:

nginx.conf

Benutzer root;
Arbeiterprozesse 1;
 
Fehlerprotokoll /var/log/nginx/error.log warnen;
pid /var/run/nginx.pid;
 
 
Ereignisse {
 Arbeiterverbindungen 1024;
}
 
 
http {
 /etc/nginx/mime.types einschließen;
 Standardtyp Anwendung/Oktett-Stream;
 
 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
      '$status $body_bytes_sent "$http_referer" '
      '"$http_user_agent" "$http_x_forwarded_for"';
 
 Zugriffsprotokoll /var/log/nginx/access.log Haupt;
 
 sendfile an;
 #tcp_nopush ein;
 
 KeepAlive-Timeout 65;
 
 Autoindex aktiviert;
 
 #gzip ein;
 
 schließen Sie /etc/nginx/conf.d/*.conf ein;
 Maximale Client-Body-Größe: 100 M;
 Client-Header-Puffergröße 128k;
 große_Client_Header_Puffer 4 128k;
}

Datei default.conf

Server {
 hören Sie 80;
 Servername localhost;
 
 #Zeichensatz koi8-r;
 #access_log /var/log/nginx/log/host.access.log Haupt;
 
 Standort / {
  root /usr/nginx/dacheng-wechat-web;
  # root /usr/nginx/html;
  Index Index.html Index.htm;
  Autoindex aktiviert;
 try_files $uri /index/index/page.html;
  #try_files $uri /index/map/page.html;
 }
 
 #Fehlerseite 404 /404.html;
 
 # Server-Fehlerseiten auf die statische Seite /50x.html umleiten
 #
 Fehlerseite 500 502 503 504 /50x.html;
 Standort = /50x.html {
  root /usr/share/nginx/html;
 }
 
 # Proxy für die PHP-Skripte an Apache, das auf 127.0.0.1:80 lauscht
 #
 #Standort ~ \.php$ {
 # Proxy-Passwort http://127.0.0.1;
 #}
 
 # Übergeben Sie die PHP-Skripte an den FastCGI-Server, der auf 127.0.0.1:9000 lauscht.
 #
 #Standort ~ \.php$ {
 #Wurzel-HTML;
 # fastcgi_pass 127.0.0.1:9000;
 # fastcgi_index index.php;
 # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
 #fastcgi_params einschließen;
 #}
 
 # Zugriff auf .htaccess-Dateien verweigern, wenn das Apache-Dokumentenstammverzeichnis
 # stimmt mit nginx überein
 #
 #Standort ~ /\.ht {
 # alles ablehnen;
 #}
}

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:
  • Docker erstellt eine Nginx+PHP+MySQL-Umgebung und implementiert WordPress-Praxis
  • Docker für Anfänger und detaillierte Schritte zum Bereitstellen von NGINX
  • Docker nginx Beispielmethode zum Bereitstellen mehrerer Projekte
  • Docker-Bereitstellung - Nginx-Implementierungsprozess - Grafik und Text - detaillierte Erläuterung
  • Docker stellt Nginx bereit und konfiguriert Reverse-Proxy
  • Versuchen Sie Docker+Nginx, um die Single-Page-Anwendungsmethode bereitzustellen
  • Implementierungsmethode für die Produktion und Bereitstellung von Docker Nginx-Containern
  • So stellen Sie Nginx auf Docker bereit

<<:  Zusammenfassung der Verwendung von vue Watch und Computed

>>:  MySQL 5.7-Bereitstellung und Remotezugriffskonfiguration unter Linux

Artikel empfehlen

Mehrere Möglichkeiten zum Festlegen der Ablaufzeit von localStorage

Inhaltsverzeichnis Problembeschreibung 1. Basislö...

MySQL Serie 8 MySQL Server-Variablen

Tutorial-Reihe MySQL-Reihe: Grundlegende Konzepte...

Der Unterschied zwischen den Feldtypen char, varchar und Text in MySQL

In MySQL können alle Felder der Typen char, varch...

CentOS 7 Installations- und Konfigurations-Tutorial unter VMware10

Während Ubuntu heute das beliebteste Linux-Betrie...

Das neueste Installations-Tutorial für virtuelle Maschinen VMware 14

Zuerst gebe ich Ihnen den Aktivierungscode für VM...

So verwenden Sie den MySQL-Autorisierungsbefehl „grant“

Die Beispiele in diesem Artikel laufen auf MySQL ...

js, um einen gleitenden Karusselleffekt zu erzielen

In diesem Artikel wird der spezifische Code von j...

Detaillierte Erklärung zur Verwendung verschiedener MySQL-Indizes

1. Langsames Abfrageprotokoll 1.1 MySQL-Protokoll...