宝塔面板开启 Brotli 压缩提高网站运行速度

2019-09-27 10:13:21 作者: 猫有九命唯一心 [百度已收录] [搜狗已收录] [360已收录]

之前有人在 telegram 有人跟我反馈过网站打开速度较慢,简单的检查下发现日志文件 1G 多,显然是被人 DDOS 了,尽管使用了防 ddos 脚本,但仍然难以避免网速的缓慢,于是从另一个途径开始解决,就给网站使用上了 Brotli。那么什么是 Brotli 呢?

Brotli 介绍

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

Brotli 压缩算法具有多个特点,最典型的是以下 3 个:

针对常见的 Web 资源内容,Brotli 的性能相比 Gzip 提高了 17-25%;

当 Brotli 压缩级别为 1 时,压缩率比 Gzip 压缩等级为 9(最高)时还要高;

在处理不同 HTML 文档时,Brotli 依然能够提供非常高的压缩率。

环境配置

为了确保你能正确的使用上 Brotli,请参照本文的环境配置。

宝塔面板 LNMP 环境(也就是说是使用的 nginx 服务器)

nginx 版本要求(nginx = v1.15)

下载

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

开始

这里我们使用的是手动编译。

输入 nginx -V (此处 V 必须是大写)

将会输出如下数据

[root@rats ~]# nginx -V
nginx version: nginx/1.15.10
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
built with OpenSSL 1.1.1b  26 Feb 2019
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/www/server/nginx --with-openssl=/www/server/nginx/src/openssl ... --with-ld-opt=-ljemalloc

打开记事本将 configure arguments 后面的参数 --user=www --group=www --prefix=/www/server/nginx --with-openssl=/www/server/nginx/src/openssl.... 全部复制并记住

下载 nginx

服务器原有的 nginx 并不需要卸载

#下载nginx,这里下载的1.15.10版本,如果是其它版本,把下载链接的1.15.10改成你的版本号即可
wget http://nginx.org/download/nginx-1.15.10.tar.gz
#解压并删除压缩包
tar -xvzf nginx-*.tar.gz && rm -rf nginx-*.tar.gz
#进入nginx目录
cd nginx*
#生成Makefile,./configure后面的参数直接复制上面看到的,然后在后面额外加一个--add-module=/www/server/ngx_brotli
./configure --之前要求记住的参数
#编译nginx
make && make install

再次输入 nginx -V

如果看到如下参数 --add-module=/www/server/ngx_brotli 便开启成功

图片

使用

我们回到宝塔面板中,找到软件商店 -->nginx 管理 --> 配置修改

在 http 段里面添加

brotli on;
brotli_comp_level 6;
brotli_min_length 512;
brotli_types text/plain text/javascript text/css text/xml text/x-component application/javascript application/x-javascript application/xml application/json application/xhtml+xml application/rss+xml application/atom+xml application/x-font-ttf application/vnd.ms-fontobject image/svg+xml image/x-icon font/opentype;
brotli_static always;

最后点击 Nginx 设置里的重载配置生效即可。

Brotli 参数情况

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

如果此篇文章对您有帮助,您可以收藏一下本站方便下次访问!本站域名:sansuib.com

宝塔面板开启Brotli压缩提高网站运行速度

版权免责声明 1、本网站名称:好牛娱乐网
2、本站永久网址:http://haoniu.org
3、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
4、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效  点此反馈 我们会第一时间更新。

评论
本文作者 阅读排行 文章推荐

首页
精选
软件
活动
文章