天天看點

openresty開啟br壓縮

前言

之前有一篇文章寫過安裝 ​

​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 ""; 
      

題外話

繼續閱讀