共计 1432 个字符,预计需要花费 4 分钟才能阅读完成。
前言
宝塔面板至今没有集成 Brotli 压缩,这让人很失望
不过利用宝塔面板自带的 SSH 终端 及面板文件管理,我们能很轻松地编译 Nginx 并且使用 Brotli 压缩
操作过程:
1. 安装 libbrotli
- cd /www/server
- git clone https://github.com/bagder/libbrotli
- cd libbrotli
- ./autogen.sh
- ./configure
- make && make install
上面的命令 以每行为单位 依次执行
2. 下载 ngx_brotli 模块及其依赖
- cd /www/server
- git clone https://github.com/google/ngx_brotli
- cd ngx_brotli && git submodule update –init
上面的命令 以每行为单位 依次执行
3. 获取 Nginx Arguments
- nginx -V
上面的命令 以每行为单位 依次执行
4. 编辑重编译脚本
路径:
- /www/server/panel/install
如果没有问题的话在 83 行末尾添加
- –add-module=/www/server/ngx_brotli
5. 执行编译脚本
- sh /www/server/panel/install/nginx.sh install openresty
之后就是几分钟的等待,不出差错编译完成后就完成了 brotli 模块的编译
6. 网站配置
- 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;
注释版:
- brotli on; #启用
- brotli_comp_level 6; #压缩等级,默认 6,太高的压缩水平可能需要更多的 CPU
- brotli_buffers 16 8k; #请求缓冲区的数量和大小
- brotli_min_length 20; #指定压缩数据的最小长度,只有大于或等于最小长度才会对其压缩。这里指定 20 字节
- brotli_types *; #指定允许进行压缩类型
- #brotli_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml text/html application/json image/svg application/font-woff application/vnd.ms-fontobject application/vnd.apple.mpegurl image/x-icon image/jpeg image/gif image/png image/bmp;
- brotli_static always; #是否允许查找预处理好的、以 .br 结尾的压缩文件,可选值为 on、off、always
- brotli_window 512k; #窗口值,默认值为 512k
添加完保存好就可以了
7. 验证
打开你的网站首页,鼠标邮件 - 检查或使用 F12 打开调试工具,如图
存在最下面的 content-edcoding:br 就说明成功啦!
结语:
偷偷告诉你,很多 CDN 如 Cloudflare 等都是直接支持 一键开启 Brotli 压缩 的哦
正文完