Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk mengkonfigurasi nginx gzip mampatan dinamik dan mampatan statik

Bagaimana untuk mengkonfigurasi nginx gzip mampatan dinamik dan mampatan statik

WBOY
WBOYke hadapan
2023-05-12 08:25:232631semak imbas

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; # 文件类型

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() ]

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', // 输出的后缀

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

Selepas pelaksanaan selesai, laksanakan arahan make

    gzip_static on

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!

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