Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Cara Docker menggunakan nginx dan mengubah suai fail konfigurasi

Cara Docker menggunakan nginx dan mengubah suai fail konfigurasi

WBOY
WBOYke hadapan
2023-05-12 15:19:131501semak imbas

Ia boleh dilakukan dengan hanya satu baris arahan:

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

Seronoknya berlari dan bermula~~~~~Pada masa ini, bahagian hadapan tiba-tiba datang dan berkata: "Anda perlu tambahkan konfigurasi pada nginx anda", dan dengan cara itu, dia juga memberitahu anda: " "Si-si-si telah dikonfigurasikan seperti ini sebelum ini",

Sudah tentu anda tidak boleh menolak jika anda berdaya saing di kali ini, tetapi ia masih memerlukan sedikit usaha untuk mengkonfigurasinya Dalam keadaan biasa, docker dikonfigurasikan apabila ia bermula, selagi fail konfigurasi Hanya lekapkan direktori, yang mudah dan mudah fail nginx.conf, dan kemudian memuatkan fail sub-konfigurasi dalam direktori conf.d dalam nginx.conf (biasanya sekurang-kurangnya satu fail default.conf). Ini jauh lebih menyusahkan daripada memasang direktori sahaja, tetapi ia tidak sukar selagi anda mempunyai idea yang jelas.

Mari kita lihat arahan yang dipasang dahulu:

Arahan untuk memulakan 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

Ada beberapa perkara yang perlu diperhatikan di sini:

(1) "-v" pertama ialah lokasi projek, cuma letakkan projek dalam direktori tempat ia dipasang

(2) "-v" kedua ialah Pasang fail konfigurasi utama "nginx.conf". Perhatikan bahawa terdapat baris "include /etc/nginx/conf.d/*.conf;" dalam fail "nginx.conf" ini termasuk titik ke laluan sub-. fail konfigurasi ini Sila beri perhatian kepada laluan berikut sertakan dan pastikan tiada kesilapan.

(3) "-v" ketiga juga melekapkan laluan fail sub-konfigurasi dalam docker. Ambil perhatian bahawa ia mesti konsisten dengan laluan penunjuk sertakan dalam (2)

(. 4) Adalah penting untuk menekankan bahawa nginx.conf melekapkan fail (Docker tidak disyorkan untuk menggunakan ini), dan conf.d melekapkan direktori

Mari kita mulakan dahulu dan kita dapati terdapat masalah . Kerana fail konfigurasi belum wujud lagi.

Fail konfigurasi konfigurasi

Kami mendapati fail konfigurasi dijana apabila nginx dipasang dengan kaedah konvensional (biasanya di bawah "/etc/nginx"), sepadan dengan yang di atas arahan permulaan Lokasi pemasangan, letakkan fail konfigurasi utama nginx.conf ke dalam lokasi yang sepadan "/etc/docker/mynginx/nginx.conf", dan letakkan fail sub-konfigurasi "default.conf" ke dalam "/etc/docker/ mynginx/conf. d"

jalankan semula arahan permulaan, mendapati ia baik. Pada ketika ini, fail dalam docker boleh dikonfigurasikan sesuka hati, sama seperti pemasangan asli

Idea: Semasa mengkonfigurasi, anda mesti mempunyai satu idea: fail yang dipasang mesti dimuatkan ke dalam proses docker semasa berjalan! Dengan cara ini kurang kekeliruan.

-------------------------------------------- ------ -------Barisan pembahagi---------------------------------- ------- ----------------

Menyiarkan fail konfigurasi saya:

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;
 #}
}

Atas ialah kandungan terperinci Cara Docker menggunakan nginx dan mengubah suai fail konfigurasi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam