您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“怎么為Nginx啟用Brotli壓縮算法”,內容詳細,步驟清晰,細節處理妥當,希望這篇“怎么為Nginx啟用Brotli壓縮算法”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
什么是 brotli 壓縮算法
brotli最初發布于2015年,用于網絡字體的離線壓縮。google軟件工程師在2015年9月發布了包含通用無損數據壓縮的brotli增強版本,特別側重于http壓縮。其中的編碼器被部分改寫以提高壓縮比,編碼器和解碼器都提高了速度,流式api已被改進,增加更多壓縮質量級別。新版本還展現了跨平臺的性能改進,以及減少解碼所需的內存。
與常見的通用壓縮算法不同,brotli使用一個預定義的120千字節字典。該字典包含超過13000個常用單詞、短語和其他子字符串,這些來自一個文本和html文檔的大型語料庫。預定義的算法可以提升較小文件的壓縮密度。
使用brotli替換deflate來對文本文件壓縮通常可以增加20%的壓縮密度,而壓縮與解壓縮速度則大致不變。使用brotli進行流壓縮的內容編碼類型已被提議使用“br”。
安裝
1.下載 brotli
git clone https://github.com/google/ngx_brotli cd ngx_brotli && git submodule update --init
2.編譯
在原有的編譯配置后增加 –add-module=/opt/nginx/ngx_brotli
例如
復制代碼 代碼如下:
./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
配置,在 http 段加入
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; ……
重啟,刷新頁面查看 header,發現有
accept-encoding:gzip, deflate, br
如圖所示
即表示開啟了 brotli 壓縮
配置說明
指令介紹
定義了如下指令:
brotli,是否允許動態壓縮響應數據,可選值為on和off,默認值為off。樣例如下:
brotli on;
brotli_types,動態壓縮啟用時,允許壓縮的mime types,默認值為text/html。樣例如下:
brotli_types text/plain text/css text/xml application/xml application/json text/javascript application/javascript application/x-javascript;
brotli_static,是否允許查找預處理好的、以.br結尾的壓縮文件,可選值為on、off和always,默認值為off。樣例如下:
brotli_static off;
brotli_comp_level,壓縮級別,可選值范圍為0~11,默認值為6。樣例如下:
brotli_comp_level 11;
brotli_buffers,壓縮響應數據時使用的緩沖區的數量和大小。樣例如下:
brotli_buffers 16 8k;
brotli_window,brotli使用的窗口值,默認值為512k。樣例如下:
brotli_window 512k;
brotli_min_length,響應數據的最小長度,低于該值將不使用brotli算法執行壓縮操作。brotli算法使用content-length來確定響應數據的長度。樣例如下:
brotli_min_length 20;
讀到這里,這篇“怎么為Nginx啟用Brotli壓縮算法”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。