ngx_pagespeed 是 Nginx 的一个扩展模块,主要的功能是针对前端页面而进行服务器端的优化,可以帮助前端人员优化css、js以及图片。
ngx_pagespeed对nginx的负载能力有负优化的可能,虽然在启用某些模组后会减少客户端的请求数量(比如合并了css、js),但是会增加服务器额外的性能消耗,并影响网站的TTFB指标。因此在生产环境部署时还需谨慎。
ngx_pagespeed模块的主要功能如下:
图像优化:剥离元数据、动态调整,重新压缩
CSS和JavaScript压缩、合并、级联、内联
小资源内联
推迟图像和JavaScript加载
对HTML重写、压缩空格、去除注释等
提升缓存周期
针对ubuntu发行版,我已经制作好so模组,使用时根据当前nginx版本,把so文件放到/usr/lib/nginx/modules/路径,重启即可。
https://github.com/icodex/ngx_pagespeed.so
如果你是自编译的nginx,参考官网的编译方法。在模块搭配上,一般而言,使用默认的OptimizeForBandwidth级别就可以了,减少容错也有比较好的性能。如果要使用其他的重写级别,可以参考github仓库中示例,风险自评。
在PageSpeed测试环节,在gtmetrix上得到了93分。测试结果可以点击下列地址查看:http://gtmetrix.com/reports/blog.icodex.org/jmELNaSS
http://www.webpagetest.org/result/130510_X8_4Z8/