Bagaimana untuk menggunakan Nginx pada Docker

王林
Lepaskan: 2023-05-11 18:28:18
ke hadapan
2972 orang telah melayarinya

1. Muat turun imej Nginx dari docker

docker pull nginx
Salin selepas log masuk

2 Cipta direktori pelekap

Fail selepas

diletakkan di sini, dan direktori Nginx dalam docker yang sepadan dipetakan, jadi di sana tidak perlu menukarnya. Fail telah memasuki bekas

mkdir -p /data/nginx/{conf,conf.d,html,logs}
Salin selepas log masuk

3. Untuk memastikan ketepatan fail, disyorkan untuk memasukkan bekas terlebih dahulu dan menyalin fail yang sepadan

Jika menyusahkan, anda boleh buka dua tetingkap dan masukkan satu Pergi ke bekas, salin bahagian kiri ke sebelah kanan, ini untuk memastikan fail itu betul

#启动容器
docker run -itd nginx /bin/bash
#进入容器
docker attach xxxxxxxxxx
Salin selepas log masuk
说明文件挂载路径nginx路径
配置文件nginx.conf/data/nginx/conf/nginx.conf/etc/nginx/nginx.conf
配置文件文件夹conf.d文件夹/data/nginx/conf.d/etc/nginx/conf.d
首页文件夹html路径html文件夹/data/nginx/html/usr/share/nginx/html
日志文件log文件夹/data/nginx/logs/var/log/nginx

Ini adalah direktori pelekap yang sepadan, salin fail nginx.conf dan default.conf dalam conf.d untuk Letakkan folder yang sepadan, dan kemudian ubah suainya

4. Seterusnya, ubah suai fail default.conf

Paling banyak, saya akan menukar nombor port, laluan akses, dll.

server {
 
    #端口号
    listen       80;
    #定义使用 localhost 访问
    server_name  localhost;
 
    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;
 
    location / {
        #根目录位置
        root   /usr/share/nginx/html;
        #index 文件位置
        index  1.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;
    #}
}
Salin selepas log masuk

1.html yang digunakan untuk ujian di sini ditulis oleh saya sendiri

<html>
<head>
<title>Mynginx</title>
</head>
<body>
<h2>
欢迎使用nginx!
</h2>
</body>
</html>
Salin selepas log masuk

Seterusnya, anda boleh memulakan bekas

docker run  --name myNginx -d -p 8089:80 -v /data/nginx/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/conf.d:/etc/nginx/conf.d  -v /data/nginx/logs:/var/log/nginx nginx
Salin selepas log masuk

Laluan pelekap mestilah betul, jangan salah tulis

-p 8089:80 Di sini, petakan port 80 ke port 8089 hos, supaya aksesnya ialah port 8089. Tidak perlu menukar port lalai nginx

Seterusnya, anda boleh melihat bekas itu Sama ada ia bermula seperti biasa

docker ps
Salin selepas log masuk

Jika anda tidak melihat bekas itu, ia bermakna ada adalah masalah dengan permulaan. Periksa sama ada fail konfigurasi ditulis dengan betul atau laluan pelekap salah.

Anda boleh menyemak imbas terus selepas permulaan Server localhost:8089 dan melihat halaman 1.index yang baru ditulis

6. Kemas kini fail konfigurasi tanpa berhenti nginx

Apabila kami mengubah suai fail konfigurasi, kami perlu mengemas kini fail konfigurasi Pada masa ini, buka dua tetingkap Ia sangat keren

#进入容器
docker exec -it xxxxxxxxxxx /bin/bash
 
#测试配置文件是否有问题
nginx -t
 
#要是显示 successful 就可以更新了
nginx -s reload
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk menggunakan Nginx pada Docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!