Rumah > Artikel > Operasi dan penyelenggaraan > Bagaimana untuk membolehkan algoritma pemampatan Brotli untuk Nginx
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
bermakna pemampatan brotli didayakan
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 text/plain text/css text/xml application/xml application/json text/javascript application/javascript application/x-javascript;
brotli_static off;
brotli_comp_level 11;
brotli_buffers 16 8k;
brotli_window 512k;
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!