Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Wie Docker Nginx bereitstellt und Konfigurationsdateien ändert

Wie Docker Nginx bereitstellt und Konfigurationsdateien ändert

WBOY
WBOYnach vorne
2023-05-12 15:19:131433Durchsuche

Es kann mit nur einer Befehlszeile erledigt werden:

docker run \
 --name nginx-health-web-pc \
 -d -p 6800:80 \
 -v /usr/docker/nginx/html:/usr/share/nginx/html \
 nginx

Es macht Spaß, zu laufen und zu starten~~~~~Zu diesem Zeitpunkt kam das Frontend plötzlich vorbei und sagte: „Sie müssen Nginx eine Konfiguration hinzufügen.“ , und übrigens hat er dir auch gesagt: „Früher war der und der so „gematcht“,

Natürlich kann man zu diesem Zeitpunkt nicht ablehnen, wenn man konkurrenzfähig ist, aber es erfordert immer noch einige Anstrengung Konfigurieren Sie es tatsächlich. Normalerweise wird Docker beim Start konfiguriert. Es ist jedoch einfach und bequem, zunächst die Hauptkonfigurationsdatei nginx.conf zu laden Dateien im Verzeichnis conf.d in nginx.conf (normalerweise mindestens eine Datei default.conf). Dies ist um einiges aufwändiger als das alleinige Mounten eines Verzeichnisses, aber es ist nicht schwierig, solange Sie eine klare Vorstellung haben.

Schauen wir uns zuerst den gemounteten Befehl an:

Befehl zum Starten von Docker

docker run \
 --name mynginx \
 -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

Hier sind einige Dinge zu beachten:

(1) Das erste „-v“ ist der Projektspeicherort. Geben Sie das Projekt ein Gehen Sie einfach in das Verzeichnis, in dem es gemountet ist.

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

(3) Das dritte „-v“ stellt auch den Pfad der Unterkonfigurationsdatei in Docker bereit. Achten Sie auf den Pfad, auf den in (2) hingewiesen wird. conf ist Eine Datei wird gemountet (Docker wird auf diese Weise nicht empfohlen), und conf.d mountet ein Verzeichnis. Wir können feststellen, dass ein Problem vorliegt, da noch keine Konfigurationsdatei vorhanden ist.

Konfigurieren Sie die Konfigurationsdatei

Wir finden die Konfigurationsdatei, die bei der Installation von Nginx mit der herkömmlichen Methode generiert wird (normalerweise unter „/etc/nginx“), entsprechend dem Montageort im obigen Startbefehl, und legen die Hauptkonfiguration ab Datei nginx.conf Platzieren Sie sie am entsprechenden Speicherort „/etc/docker/mynginx/nginx.conf“ und legen Sie die Unterkonfigurationsdatei „default.conf“ im Verzeichnis „/etc/docker/mynginx/conf.d“ ab

Führen Sie den Startbefehl erneut aus.

Ich habe festgestellt, dass die Dateien im Docker nach Belieben konfiguriert werden können.

Denken Sie daran, dass es bei der Konfiguration eine Idee geben muss Gemountete Dateien müssen beim Ausführen in den Docker-Prozess geladen werden! Auf diese Weise gibt es weniger Verwirrung. ------------------------------------------------ ---Trennlinie----------------------------- --- ----------

Meine Konfigurationsdatei gepostet:

nginx.conf

user root;
worker_processes 1;
 
error_log /var/log/nginx/error.log warn;
pid  /var/run/nginx.pid;
 
 
events {
 worker_connections 1024;
}
 
 
http {
 include  /etc/nginx/mime.types;
 default_type application/octet-stream;
 
 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
      '$status $body_bytes_sent "$http_referer" '
      '"$http_user_agent" "$http_x_forwarded_for"';
 
 access_log /var/log/nginx/access.log main;
 
 sendfile  on;
 #tcp_nopush  on;
 
 keepalive_timeout 65;
 
 autoindex on;
 
 #gzip on;
 
 include /etc/nginx/conf.d/*.conf;
 client_max_body_size 100m;
 client_header_buffer_size 128k;
 large_client_header_buffers 4 128k;
}

default.conf

server {
 listen  80;
 server_name localhost;
 
 #charset koi8-r;
 #access_log /var/log/nginx/log/host.access.log main;
 
 location / {
  root /usr/nginx/dacheng-wechat-web;
  # root /usr/nginx/html;
  index index.html index.htm;
  autoindex on;
 try_files $uri /index/index/page.html;
  #try_files $uri /index/map/page.html;
 }
 
 #error_page 404    /404.html;
 
 # redirect server error pages to the static page /50x.html
 #
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
  root /usr/share/nginx/html;
 }
 
 # proxy the php scripts to apache listening on 127.0.0.1:80
 #
 #location ~ \.php$ {
 # proxy_pass http://127.0.0.1;
 #}
 
 # pass the php scripts to fastcgi server listening on 127.0.0.1:9000
 #
 #location ~ \.php$ {
 # root   html;
 # fastcgi_pass 127.0.0.1:9000;
 # fastcgi_index index.php;
 # fastcgi_param script_filename /scripts$fastcgi_script_name;
 # include  fastcgi_params;
 #}
 
 # deny access to .htaccess files, if apache's document root
 # concurs with nginx's one
 #
 #location ~ /\.ht {
 # deny all;
 #}
}

Das obige ist der detaillierte Inhalt vonWie Docker Nginx bereitstellt und Konfigurationsdateien ändert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen