发表主题 回复主题
  • 4258阅读
  • 8回复

[解决方案]Nginx 使用 Brotli 压缩算法,Better than Gzip Compression

级别: 论坛版主
发帖
9078
云币
12667
— 本帖被 不靠谱贝贝 设置为精华(2016-11-22) —
介绍 _@/8gPT*i  
Znv,9-  
Brotli 在瑞士德语中的意思是小面包(真·吃货·谷歌 啊)。Brotli 是一个通用目的的无损压缩算法,它通过用变种的 LZ77 算法,Huffman 编码和二阶文本建模进行数据压缩,是一种压缩比很高的压缩方法。在压缩速度上跟 Deflate 差不多的同事却实现了更密集的压缩,对 Canterbury 资料库的压缩密度好于 LZMA 和 bzip2。 w4Z'K&d=  
\73ch  
 9gZ$   
目前 Brotli 已经广泛的用户 CDN 加速项目,例如 Cloudflare 和 CDN77 均有部署 |ENh)M8}r  
Oow2>F%_#  
RG`1en  
下面将介绍如何在 Nginx 上应用此项目 ;A[Q2(w+  
jz0T_\8D`  
安装 U/BR*Zn]*  
I2Yz#V<%ru  
Brotli 的实现需要用到如下三个库,google/brotli 包含在 bagder/libbrotli 中。
google/brotli T6k0>[3xf  
google/ngx_brotli Aiea\j Bv  
bagder/libbrotli
[ikOb8 G#  
一、首先安装 brotli 和 libbrotli Z%\,w(o[h  
  1. git clone https://github.com/bagder/libbrotli
  2. cd libbrotli
  3. ./autogen.sh
  4. ./configure
  5. make && make install
#LOwGJ$yVz  
Y nZiT e@  
%~S&AE-  
二、安装 ngx_brotli,重新编译 Nginx 或者 Openresty,在末尾加上 ./configure --add-module=/path/to/ngx_brotli 即可 nFs(?Rv*  
W@!S%Y9  
v*yuE5{  
例如, cCc( fF*^  
  1. cd /tmp
  2. git clone https://github.com/google/ngx_brotli.git
  3. # 已经下载好 ngx_brotli 了
  4. cd nginx-1.11.3
  5. ./configure --add-module=/tmp/ngx_brotli
pD]OT-8  
dcT80sOC  
三、编辑 nginx.conf 文件,在http配置段增加以下配置 !{41!O,K#  
  1. brotli on;
  2. brotli_comp_level 6;
  3. brotli_min_length 20;
  4. brotli_types *;
7=, ;h  
lb1Xsgm{  
(可选)四、反代禁用 gizp,反代 node.js 应用,如果他们启用了 gzip 了,他们在反代的地方就要添加: ^sg,\zD 'X  
4xJQ!>6  
>-{Hyx  
  1. proxy_set_header Accept-Encoding "";
ws^ np  
Xb,3Dvf  
五、重启 Nginx \5cpFj5%  
  1. service nginx restart
;6hOx(>`=  
$u6 3]rypm  
如果提示: 6\S~P/PkE  
*HB-QIl  
lB[kbJ  
  1. nginx: error while loading shared libraries: libbrotlienc.so.1: cannot open shared object file: No such file or directory
7vj2 `+r.  
.XhrCi Z  
那么 SSH 中输入: /JU.?M35  
  1. ldconfig
*k>n<p3dd  
!$>R j  
即可解决。 {cw /!B  
[ 此帖被ivmmff在2016-11-22 10:46重新编辑 ]
QQ:1251205255,仅提供付费服务。
级别: 新人
发帖
6
云币
9
只看该作者 沙发  发表于: 2016-12-07
ReNginx 使用 Brotli 压缩算法,Better than Gzip Compression
正在学习
级别: 论坛版主
发帖
9078
云币
12667
只看该作者 板凳  发表于: 2016-12-07
回 1楼(一棵树1) 的帖子
加油!
QQ:1251205255,仅提供付费服务。
级别: 禁止发言
发帖
11
云币
22
只看该作者 地板  发表于: 2016-12-28
用户被禁言,该主题自动屏蔽!
级别: 论坛版主
发帖
3275
云币
8373

只看该作者 4楼 发表于: 02-21
话说 这货到底 干啥用
你只看到我的技术,却没看到我的通宵。 你有你的需求,我有我的选择。 你嘲笑我技术宅孤独一生,我可怜你只能呆呆站在墙里。 你可以轻视昼夜不分的Coding,但我会证明它至少可以买到xx票。 技术宅的路上少不了苦逼和孤独,又怎样,哪怕成不了大神,也要码的漂亮。我是IT男,我为自己代言!
级别: 论坛版主
发帖
9078
云币
12667
只看该作者 5楼 发表于: 02-21
回 4楼(小柒2012) 的帖子
Better than Gzip Compression #3kR}Amow  
c)iQ3_&=  
标题就写了,比 GZIP 压缩的更好更快
QQ:1251205255,仅提供付费服务。
级别: 论坛版主
发帖
3275
云币
8373

只看该作者 6楼 发表于: 02-21
回 5楼(ivmmff) 的帖子
原谅我
你只看到我的技术,却没看到我的通宵。 你有你的需求,我有我的选择。 你嘲笑我技术宅孤独一生,我可怜你只能呆呆站在墙里。 你可以轻视昼夜不分的Coding,但我会证明它至少可以买到xx票。 技术宅的路上少不了苦逼和孤独,又怎样,哪怕成不了大神,也要码的漂亮。我是IT男,我为自己代言!
级别: 论坛版主
发帖
9078
云币
12667
只看该作者 7楼 发表于: 02-21
回 6楼(小柒2012) 的帖子
哈哈~ 。这可是新时代的标志了,国外的 CDN 都用这个了
QQ:1251205255,仅提供付费服务。
级别: 新人
发帖
13
云币
15
只看该作者 8楼 发表于: 03-13
ReNginx 使用 Brotli 压缩算法,Better than Gzip Compression
Chrome 49和Firefox 44以上的版本可以体验到这项新算法,IE、Safari这些浏览器应该还不支持的
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
验证问题: ECS是阿里云提供的什么服务? 正确答案:云服务器
上一个 下一个