前言
之前有一篇文章寫過安裝
google/ngx_brotli
,詳情:《Nginx 使用 Brotli 壓縮算法,Better than Gzip Compression》,不過呢,由于 ngx_brotli
程式的發展,是以之前的教程不再适合新的 ngx_brotli
了。
關于 brotli 的具體介紹,還請看上一篇文章。
說明
之前
google/ngx_brotli
是需要依賴 bagder/libbrotli
庫的,這就導緻了安裝比較複雜而且 libbrotli
還容易安裝出錯(寫腳本的時候就死在這個上了,真心體會)。
現在
google/ngx_brotli
從 16年12月的版本起,開始内置 google/brotli
,以為着我們不需要額外編譯 bagder/libbrotli
庫了,讓安裝變得簡單起來了。
注: 除
google/ngx_brotli
之外,還有 cloudflare/ngx_brotli_module
,安裝方法和本文一樣,不過後者很久沒更新了,而且也不是谷歌親兒子應用,是以還是後者好。
安裝
例如,我們将
google/ngx_brotli
下載下傳并解壓到 /tmp/ngx_brotli
目錄。 cd /tmp
git clone https://github.com/google/ngx_brotli.git
然後在下載下傳
google/brotli
并解壓到
/tmp/ngx_brotli/deps/brotli
cd ngx_brotli/deps/brotli
git clone [email protected]:google/brotli.git
編譯
然後編譯 nginx 加入
--add-module=/tmp/ngx_brotli
參數。
cd nginx-1.10.3
./configure --add-module=/tmp/ngx_brotli
設定
編輯
nginx.conf
檔案,在http配置段增加以下配置,然後重新開機即可
brotli on;
brotli_comp_level 6;
brotli_buffers 16 8k;
brotli_min_length 20;
brotli_types *;
如果,nginx 反代的程式也啟了 gzip 壓縮,就要設定 反代禁用 gizp
proxy_set_header Accept-Encoding "";
題外話