宝塔面板 Nginx 添加 Brotli

/ 11 Comments / 816 View

Brotli 压缩算法

Google 在 2015 年 9 月推出了无损压缩算法 Brotli。Brotli 通过变种的 LZ77 算法、Huffman 编码以及二阶文本建模等方式进行数据压缩,与其他压缩算法相比,它有着更高的压缩效率。

安装 Brotli

进入 server 目录,安装 brotli:

cd /www/server
#下载brotli
git clone https://github.com/google/ngx_brotli.git
cd ngx_brotli
#更新brotli
git submodule update --init

获取Nginx Arguments

nginx -V

根据自己的 Nginx 版本编辑安装脚本

vi /www/server/panel/install/nginx.sh
#找到 Install_Configure(){...},在./configure --user=www ...后面添加
--add-module=/www/server/ngx_brotli

执行命令重新编译 Nginx

sh /www/server/panel/install/nginx.sh install 1.15

在Nginx 配置文件添加

brotli on;              #启用
brotli_comp_level 6;    #压缩等级,默认6,最高11,太高的压缩水平可能需要更多的CPU
brotli_buffers 16 8k;   #请求缓冲区的数量和大小
brotli_min_length 20;   #指定压缩数据的最小长度,只有大于或等于最小长度才会对其压缩。
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

重新加载配置文件后生效

后记

本站宝塔面板版本为6.9.4,Nginx 1.15.10,开启后并无感觉的有太大改变。

完成安装配置后,Brotli 和 Gzip 默认共存,并且都启用了,因为部分老旧的浏览器不支持 Brotli,会变成 Gzip 压缩。

题外话

上个月被封的 VPS 终于解封了一个,不过位于搬瓦工的依旧在小黑屋里,反正也就还有两个月到期,也不指望能解封咯。

原本打算带老人家近期去香港旅游,但看到香港已经由普通的示威游行变成暴动倾向,乱到警察都无法确保游客安全,还是安全第一,更改行程先去北京。

或者我是没享受到西方国家的“自由民主”,所以我无法理解这次游行的理由。反正公说公有理,婆说婆有理。

已有 11 条评论
  1. 我也折腾了Brotli,但感觉还是然并卵,后来是都用gzip了。

    回复
  2. 小博客,gzip足够了吧

    回复
    1. @山野愚人居

      其实差别都不大

      回复
  3. 非技术的路过。

    回复
  4. 你好啊!我刚玩typecho,目前使用的是你之前的主题 https://github.com/siseboy/junichi。

    也很喜欢你现在博客的主题,可以分享一下么?

    回复
    1. @dreamer

      建议你使用 pinghsu,我是根据这主题修改的,所以就不分享出来了。

      回复
  5. 哈哈 终于换主题了哈

    回复
  6. mark 收藏了

    回复
  7. 小而精悍的系统。

    回复
  8. 我也开启了,但是配置文件没有你的详细

    回复
  9. 好文章!欢迎回访!

    回复
发表新评论