Bagaimana untuk mengkonfigurasi nginx gzip mampatan dinamik dan mampatan statik

WBOY
Lepaskan: 2023-05-12 08:25:23
ke hadapan
2707 orang telah melayarinya

Mampatan Dinamik

Mampatan dinamik sebenarnya bermaksud pelayan nginx memampatkan ciptaan yang disusun Anda perlu mendayakan konfigurasi berikut dalam modul http dan https nginx.conf:

    gzip  on; # 开启gizo压缩
    gzip_min_length 1k; # gizp压缩起点,文件大于1k才进行压缩
    gzip_comp_level 6; # 压缩级别 数字越大压缩得越小 但是越耗性能 根据实际情况而定
    gzip_proxied any; # nginx做为反向代理时启用, 详细见官方文档:http://nginx.org/en/docs/http/ngx_http_gzip_module.html#gzip_proxied
    gzip_vary on; # 是否在http header中添加Vary: Accept-Encoding
    gzip_buffers 16 8k; # 设置压缩所需要的缓冲区大小,以8k为单位,案例中则申请16*4k的缓冲区
    gzip_http_version 1.1; # http的版本
    gzip_types text/plain application/javascript text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; # 文件类型
Salin selepas log masuk

Tukar. selesai Konfigurasikan, mulakan semula pelayan nginx, semak pengepala respons sumber statik, jika Pengekodan Kandungan: gzip **** muncul, ia bermakna permulaan berjaya; Mampatan

Mampatan dinamik dilakukan pada pelayan Lebih tinggi tahap mampatan, lebih banyak prestasi digunakan untuk menyelesaikan masalah ini Selepas menghidupkan mampatan statik, nginx akan mencari fail secara automatik akhiran .gz, dan jika tidak, kembalikan fail sumber; -masuk dan konfigurasikannya dalam vite.config.js seperti berikut; Bagaimana untuk mengkonfigurasi nginx gzip mampatan dinamik dan mampatan statik

    import viteCompression from 'vite-plugin-compression'; // gzip
    plugins: [ viteCompression() ]
Salin selepas log masuk

Pemalam menyokong penyesuaian. kita dapat melihat bahawa akan terdapat beberapa lagi fail yang berakhir dengan .gz dalam fail yang dikompilasi Ini adalah produk pemampatan , melihat pada output kompilasi, kita dapat melihat bahawa

    verbose: true, // 是否在控制台输出压缩结果 这里我们打开查看压缩的效果
    disable: false, // 是否禁用
    threshold: 10240, // 大于这个值才进行压缩 单位为b
    algorithm: 'gzip', // 算法 除了gzip还有 ['brotliCompress' ,'deflate','deflateRaw']
    ext: '.gz', // 输出的后缀
Salin selepas log masuk

Fail css 598.32kb. telah dimampatkan dan saiznya telah menjadi 67.81kb;

Sebarkan sumber statik ke pelayan, dalam nginx.conf Apabila konfigurasi berikut didayakan dalam nginx, nginx secara automatik akan mencari fail yang berakhir dengan .gz dan mengembalikannya secara langsung kepada pelanggan. Ini adalah apa yang dipanggil mampatan statik; ! !

1. nginx mempunyai keperluan yang tinggi untuk fail yang dimampatkan secara statik, yang mesti dijana pada masa yang sama dengan fail asal Jika ia tidak dijana pada masa yang sama, maka nginx tidak akan dapat dipadankan (untuk Pada titik ini, pengarang tidak memasukkan kod sumber selepas memperkenalkan pemalam Perubahan, menyebabkan masa fail gz tidak konsisten dengan fail asal, menyebabkan pemampatan statik tidak berkuat kuasa Perkataan asal daripada tapak web rasmi:

Fail boleh dimampatkan menggunakan arahan gzip, atau mana-mana arahan lain yang serasi Adalah disyorkan bahawa tarikh dan masa pengubahsuaian fail asal dan dimampatkan adalah sama.

2. nginx tidak mempunyai modul mampatan statik ngx_http_gzip_static_module secara lalai Ia perlu dihidupkan secara manual 🎜>

Selepas mencari fail konfigurasi laluan pemasangan, dalam folder ini, laksanakan arahan berikut

    dist/D:/code/vue/mine/waylon-blog/packages/waylon-blog-pages/assets/index-d023f1e5.css.gz                                  598.32kb / gzip: 67.81kb
Salin selepas log masuk

Selepas pelaksanaan selesai, laksanakan arahan make

    gzip_static on
Salin selepas log masuk

Kombinasi statik dan dinamik

Dalam aplikasi sebenar, kami biasanya menggunakan gabungan pemampatan statik + pemampatan dinamik untuk memproses sumber statik kami Keutamaan pemampatan statik akan lebih tinggi daripada pemampatan dinamik . Lebih kecil lebih baik Jika fail telah dimampatkan secara statik, tidak perlu melakukan pemampatan dinamik Ini adalah satu pembaziran prestasi dan keuntungan melebihi keuntungan, jadi konfigurasi gzip_min_length bagi pemampatan dinamik adalah amat penting. elakkan beberapa operasi yang tidak perlu;

Selepas siri operasi di atas, anda boleh menggunakan alat juruweb untuk menguji kesan mampatan dan terus menyalin pautan sumber statik: https://tool.chinaz.com/Gzips /?q=c. nxw.so

Seperti yang ditunjukkan dalam gambar

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi nginx gzip mampatan dinamik dan mampatan statik. 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!