Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk membolehkan algoritma pemampatan Brotli untuk Nginx

Bagaimana untuk membolehkan algoritma pemampatan Brotli untuk Nginx

王林
王林ke hadapan
2023-05-15 15:52:061361semak imbas

Apakah algoritma pemampatan brotli

Brotli pada asalnya dikeluarkan pada tahun 2015 untuk pemampatan luar talian fon web. Jurutera perisian Google mengeluarkan versi brotli yang dipertingkatkan pada September 2015 yang termasuk pemampatan data tanpa kehilangan am, dengan tumpuan khas pada pemampatan http. Pengekod telah ditulis semula sebahagiannya untuk meningkatkan nisbah mampatan, kedua-dua pengekod dan penyahkod telah ditingkatkan kelajuannya, dan API penstriman telah dipertingkatkan untuk menambah lebih banyak tahap kualiti mampatan. Versi baharu juga mempamerkan peningkatan prestasi merentas platform dan mengurangkan memori yang diperlukan untuk penyahkodan.

Tidak seperti algoritma pemampatan tujuan am biasa, brotli menggunakan kamus 120 kilobait yang dipratentukan. Kamus ini mengandungi lebih 13,000 perkataan biasa, frasa dan subrentetan lain yang diambil daripada korpus besar teks dan dokumen HTML. Algoritma yang dipratakrifkan meningkatkan ketumpatan mampatan untuk fail yang lebih kecil.

Menggunakan brotli dan bukannya mengempiskan untuk memampatkan fail teks biasanya boleh meningkatkan ketumpatan mampatan sebanyak 20%, manakala kelajuan mampatan dan penyahmampatan kekal lebih kurang sama. Jenis pengekodan kandungan untuk pemampatan strim menggunakan brotli telah dicadangkan untuk menggunakan "br".

Pemasangan

1 Muat turun brotli

git clone https://github.com/google/ngx_brotli
cd ngx_brotli && git submodule update --init

2 -module=/opt/nginx/ngx_brotli

Contohnya

Salin kod Kod adalah seperti berikut:

./configure --prefix=/usr/local/nginx --user =www --group=www --with-pcre=/opt/nginx/pcre-8.41 --with-http_ssl_module --with-zlib=/opt/nginx/zlib-1.2.11 --with-openssl =/opt /nginx/openssl-1.0.2n --add-module=/opt/nginx/ngx_brotli --with-http_v2_module

konfigurasi, tambah

http {
  include    mime.types;
  default_type application/octet-stream;
  sendfile    on;
  tcp_nopush   on;

  keepalive_timeout 65;
  #brotli compression
  brotli on;
  brotli_comp_level 6;
  brotli_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml;
  ……

pada bahagian http, mulakan semula , muat semula halaman untuk melihat pengepala , didapati

accept-encoding:gzip, deflate, br

seperti yang ditunjukkan dalam gambar

Bagaimana untuk membolehkan algoritma pemampatan Brotli untuk Nginx bermakna pemampatan brotli didayakan


Arahan konfigurasi


Pengenalan arahan


mentakrifkan arahan berikut:


brotli , sama ada untuk membenarkan pemampatan dinamik data tindak balas , nilai pilihan dihidupkan dan dimatikan, dan nilai lalai dimatikan. Contohnya adalah seperti berikut:

brotli on;

brotli_types, apabila mampatan dinamik didayakan, jenis mim termampat dibenarkan dan nilai lalai ialah teks/html. Contohnya adalah seperti berikut:

brotli_types text/plain text/css text/xml application/xml application/json text/javascript application/javascript application/x-javascript;

brotli_static, sama ada membenarkan mencari fail mampat praproses yang berakhir dengan .br, nilai pilihan dihidupkan, dimatikan dan sentiasa, dan nilai lalai dimatikan. Contohnya adalah seperti berikut:

brotli_static off;

brotli_comp_level, tahap mampatan, julat nilai pilihan ialah 0~11, nilai lalai ialah 6. Contohnya adalah seperti berikut:

brotli_comp_level 11;

brotli_buffers, bilangan dan saiz penimbal yang digunakan semasa memampatkan data tindak balas. Sampel adalah seperti berikut:

brotli_buffers 16 8k;

brotli_window, nilai tetingkap yang digunakan oleh brotli, nilai lalai ialah 512k. Contohnya adalah seperti berikut:

brotli_window 512k;

brotli_min_length, panjang minimum data tindak balas, di bawahnya algoritma brotli tidak akan digunakan untuk melaksanakan operasi mampatan. Algoritma brotli menggunakan panjang kandungan untuk menentukan panjang data tindak balas. Contohnya adalah seperti berikut:

brotli_min_length 20;

Atas ialah kandungan terperinci Bagaimana untuk membolehkan algoritma pemampatan Brotli untuk Nginx. 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