本文最后更新于 416 天前,其中的信息可能已经有所发展或是发生改变。
编译安装nginx的ngx-brotli模块
测试环境
- centos 7.9 64
- Nginx 1.24.0
先通过有网虚拟机下载后,上传到内网虚拟机
什么是 Brotli
我们控制使用压缩的资源,除了有 Gzip 外,还有 br,而这个 br 就是我这里要说的 Brotli
如有些大厂已经支持,可通过浏览器开发者模式查看响应头
表示支持采用 gzip、deflate 或 br 压缩过的资源
浏览器支持情况
- Mozilla Firefox 在 Firefox 44 中实现 Brotli。
- Google Chrome 从 Chrome 49 开始支持 Brotli。
- Opera 从 Opera 36 开始支持 Brotli。
安装与配置过程
下载 ngx_brotli 模块
下载nginx源码包
此步骤省略,自行官网下载,此次使用是1.24.0版本
因为我们是编译安装 nginx 来定制自己的模块,所以需要安装缺少的依赖包,已经存在可忽略此步骤。
yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel
安装brotli brotli-devel依赖
此步骤必须执行,不然编译nginx 添加ngx_brotli
模块过程存在报错
yum -y install brotli brotli-devel
重新编译Nginx
配置nginx开启Brotli
Nginx 的全局配置文件,在合适的位置插入下面代码
重启nginx配置验证是否成功
./nginx -t && ./nginx -s reload
Brotli与GZIP可以同时共存,当同时开启两种压缩算法时,Brotli 压缩等级优先级高于 Gzip。如果浏览器不支持brotli会用gzip方式压缩
至此结束
参考
1.https://github.com/google/ngx_brotli
2.https://zhuanlan.zhihu.com/p/664940394
3.https://juejin.cn/post/7060352308718075935
你也放假这么晚吗
是呀~新年快乐!龙年大吉吧