前段时间一直在捣鼓Nginx的pagespeed 模块,发现一直装不上。不论是看着一些教程还是说看着官方的一键安装命令,在编译的时候总是出现各种问题(我可以肯定相关的依赖以及编译环境是没有问题的)。虽然Typecho有一个CompressHTML插件,但是使用之后博客的显示有些奇奇怪怪,可能和handsome的适配性有点问题,而且已经是很多年前的插件了,年久失修。
Ngx-pagespeed是一个免费的开源Nginx模块,可用于加快网站速度并减少页面加载时间。它可以在无需修改网站内容的前提下,对网站进行优化。使用者可以使用Ngx-pagespeed模块轻松优化各种文件,例如CSS,HTML,png和jpg。
我看了教程《宝塔Nginx环境安装pagespeed模块加速网站以及配置WebP格式图片加速方法》、《宝塔面板 Nginx 编译 pagespeed 实现 webp 化]》以及《如何在 Debian 11 上使用 Google Pagespeed 模块设置 Nginx》。最后均以失败告终。
其实我看了看,网上这些教程都是Nginx1.18这个远古时代,现在都已经到了Nginx1.27版本了。是不是pagespeed 模块已经过时了?
使用一些函数来实现对源码的压缩,会出现一些奇奇怪怪的问题,于是我尝试进行手动从源码上进行压缩,主要是去除了一些换行符以及注释。当然这是一种比较暴力的压缩方法,即便从根源上进行了压缩,不至于占用服务器的资源。但是也可能导致后续的修改比较麻烦。
以handsome主题为例,在没有手动压缩之前有1409行,进行PHP源码的调整之后,只有700余行。
像龙笑天下这个主题,是直接在前端压缩成了一行,几乎是一种比较变态的压缩了,显然是适配了一些函数或者插件。
我看现在最新Nginx压缩一般都是说使用Gzip以及Brotli 压缩来提高速度。Gzip是宝塔安装后就自带的,Brotli则需要自己安装。Gzip vs Brotli 压缩算法优劣对比:
对比项目 | Brotli | Gzip |
---|---|---|
压缩比 | 高 | 中等 |
支持数据类型 | 更广泛 | 适中 |
CPU 消耗 | 高负载 | 低负载 |
兼容性 | 较好 | 非常好 |
综合来说,如果更注重网络传输性能和带宽利用率,可以考虑使用 Brotli。但如果更注重服务器资源消耗和兼容性,那么 Gzip 仍然是一个不错的选择。小陶决定尝试开启 Brotli 试试。