抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

使用 CDN 的小伙伴都知道,访问优化一块,压缩除了 Gzip 还有 Brotli,而 Brotli 作为新一代的工具,宝塔面板竟然一直没有集成。今天教大家如何手动为 Nginx 安装 Brotli 压缩模块!

安装准备工作

  1. 先卸载您现在使用的 Nginx,避免后面步骤出错;

  2. 下载 Brotli 并修改 Nginx 安装脚本来进行安装。

相关文件下载

连接 SSH 并输入以下命令,首先进入宝塔服务目录:

1
cd /www/server/

其次下载 Brotli 源码包:

1
git clone https://github.com/google/ngx_brotli.git

接着进入 Brotli 源码包目录:

1
cd ngx_brotli/

更新 Brotli 源码子模块:

1
git submodule update --init

修改安装脚本

找到文件 /www/server/panel/install/nginx.sh 并将其中的:

1
./configure --user=www --group=www --prefix=${Setup_Path} ${ENABLE_LUA} --add-module=${Setup_Path}/src/ngx_cache_purge ${ENABLE_STICKY} --with-openssl=${Setup_Path}/src/openssl --with-pcre=pcre-${pcre_version} ${ENABLE_HTTP2} --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_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-cc-opt="-Wno-error" ${jemallocLD} ${ENABLE_WEBDAV} ${ENABLE_NGX_PAGESPEED} ${ADD_EXTENSION} ${i_make_args}

改为:

1
./configure --user=www --group=www --prefix=${Setup_Path} ${ENABLE_LUA} --add-module=${Setup_Path}/src/ngx_cache_purge ${ENABLE_STICKY} --with-openssl=${Setup_Path}/src/openssl --with-pcre=pcre-${pcre_version} ${ENABLE_HTTP2} --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module --with-http_gunzip_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-cc-opt="-Wno-error" ${jemallocLD} ${ENABLE_WEBDAV} ${ENABLE_NGX_PAGESPEED} ${ADD_EXTENSION} ${i_make_args} --add-module=/www/server/ngx_brotli

重安装 Nginx

1
bash /www/server/panel/install/nginx.sh install 1.23.2

注意:使用上面的命令重新安装 Nginx,其中 1.23.2 为 Nginx 版本号,可以根据实际需求修改!

设置配置文件

1
2
3
4
brotli on;
brotli_comp_level 6;
brotli_static on;
brotli_types application/atom+xml application/javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype application/x-font-ttf application/x-javascript application/xhtml+xml application/xml font/eot font/opentype font/otf font/truetype image/svg+xml image/vnd.microsoft.icon image/x-icon image/x-win-bitmap text/css text/javascript text/plain text/xml;

注意:将上述代码添加到 Nginx 配置文件中即可。

写在文章最后

实测 Brotli 的压缩率为 6 时,与同压缩率的 Gzip 比,体积更小。

部分 CDN 不支持透传 Header 会导致源站不做压缩处理,源站开了压缩 CDN 就不要开了。

评论