宝塔面板Nginx编译开启Brotli压缩,提高网站页面加载速度

释放双眼,带上耳机,听听看~!
Brotli是Google推出的开源压缩算法,通过变种的LZ77算法、Huffman编码以及二阶文本建模等方式进行数据压缩,与其他压缩算法相比,它有着更高的压缩效率,性能也比我们目前常见的Gzip高17-25%,可以帮我们更高效的压缩网页中的各类文件大小及脚本,从而提高加载速度,提升网页浏览体验。博主目前也给开启了Brotli压缩,体验还行吧,这里就说下宝塔面板的开启方法。

安装

1、下载Brotli源码

使用ssh客户端连接并输入下列命令下载

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

2、编译Nginx
先查看目前的Nginx版本信息,使用命令(注意是大写V):

nginx -V

大概会输出以下信息:

[root@***** ~]# nginx -V
nginx version: nginx/1.17.3
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 --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --add-module=/www/server/nginx/src/nginx-sticky-module --add-module=/www/server/nginx/src/ngx-pagespeed --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_module --with-stream --with-stream_ssl_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E --with-openssl-opt='enable-tls1_3 enable-weak-ssl-ciphers' --with-cc-opt=-Wno-error --with-ld-opt=-ljemalloc

博主用到的nginx版本为最新的1.17.3,configure arguments:后面的为你nginx的编译参数,下面会用到。

现在来编辑宝塔的nginx安装脚本,路径/www/server/panel/install/nginx.sh,找到Install_Configure(){...}或Install_Nginx(){...}字段,然后找出你要安装的nginx版本号,在下面一行的./configure --user=www ...后面添加--add-module=/www/server/ngx_brotli即可,记得之间间隔一个英文空格


就是在各版本的后面加上 --add-module=/www/server/ngx_brotli 

之后就是在ssh客户端使用命令开始编译,根据自己的版本,将后面数字改为1.101.121.141.151.171.8、openresty等

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

不出意外的话,就编译完成了,然后继续使用命令查看信息:

nginx -V

返回参数后面多了个--add-module=/www/server/ngx_brotli就编译成功了。

3、开启Brotli压缩
接下来点击宝塔面板左侧软件商店-Nginx设置-配置修改,在http段内添加以下内容来启用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

保存完后重载或重启Nginx即可,这时已经全部配置好了,就可以使用谷歌浏览器查看下是否开启成功,看到br字段即为成功。

最后博主感觉压缩效果还行,但其实本来我的站都挺快的(滑稽),是为了极限的优化开启的速度,有兴趣的可以研究一下这个东东,对于其它的安装环境,安装方法都差不多,这里博主默认是BrotliGzip共存,并且都启用了,好处就是部分老旧的浏览器不支持Brotli的时候会自动变成Gzip压缩。

 

人已赞赏
Wordpress技术教程

百度MIP页面增加适配百度统计代码教程

2019-8-29 0:10:45

Wordpress主题美化技术教程

[Wordpress主题修改]给7b2及其他主题文章页增加图片Fancybox灯箱效果-支持放大自动播放等

2019-10-10 23:10:11

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索