实测Nginx服务器开启pagespeed加速效果 | 张戈博客

  • 时间:
  • 浏览:67
  • 来源:梦城博客 - 专注共享啊啊博客技术

上周一两个多多多站长问到我一两个多多大疑问,问fastcgi_cache和pagespeed加速有那么冲突。略微想了下,一两个多多是是不是比较原生的主,应该不趋于稳定兼容大疑问。

至于一些朋友问到一些两个多多机制处理的先后大疑问,我思考了下。既然fastcgi_cache机会是缓存到本地的文件,那么pagespeed肯定是后处理的。通俗来说,而且当用户访问WEB时,Nginx 应该是先调用 fastcgi缓存,而且再进行pagespeed优化处理,最后返回数据给用户。

当然,经过我最后的测试,也证实了我的猜测是正确的。

一、还能再快

张戈博客机会变慢了,然而并那么一些L用,该抄袭的抄袭,模仿的模仿,关键词和流量都碎了一地。在一些互联网时代,张戈温馨提示一下,有一些好的创意或赚钱法子 ,绝逼何必 透漏。唯有闷声发大财才是王道,机会这是一两个多多那么道义、不讲章法的混乱时代!案例就不贴了,看得人张戈博客某篇博客排名好,指数高,各种模仿,那标题拟的和张戈博客亲生似的。某度也是一两个多多大煞笔,一些垃圾辨识度,不识原创为社 会 会 物,你以为无力吐槽!什么时间没在文章中吐槽了,你以为憋着荒!

回到文章,分享还得继续…

印象中张戈博客从51CTO转载过一篇pagespeed相关文章,而且突然也没去尝试一下。搜索一分派现是2年前的教程:

借助PageSpeed,为Nginx网站服务器提速

这次正好周末有空,就果断重新编译了一下Nginx,测试了一把 pagespeed。最终还是不负众望,效果比较满意。机会想网站数率更进一步,可不还要跟着本文走一遍。

二、重新编译

朋友大慨也发现了,编译nginx 是折腾它的基本功,机会你还后要,那看得人下张戈博客前一天分享的文章,类学一些基本功再来玩:

Nginx在线服务情況下平滑升级或新增模块的完正操作记录

一般来说新增编译一两个多多模块,而且提供一些模块的下载地址,编译应该就没多大大疑问了。

本文模块下载及编译参考:

#进入 nginx 源码同级目录,比如在 /usr/local/src

#下载模块
wget -O ngx_pagespeed-release-1.9.32.6-beta.tar.gz https://codeload.github.com/pagespeed/ngx_pagespeed/tar.gz/release-1.9.32.6-beta

#解压
tar zxvf  ngx_pagespeed-release-1.9.32.6-beta.tar.gz

#下载psol优化库
cd ngx_pagespeed-release-1.9.32.6-beta
wget https://dl.google.com/dl/page-speed/psol/1.9.32.6.tar.gz

#解压psol
tar zxvf 1.9.32.6.tar.gz

#查看现有nginx的编译参数
/usr/local/nginx/sbin/nginx -V

#重新编译nginx,新增pagespeed模块
cd /usr/local/src/nginx-1.80
./configure  --add-module=../ngx_pagespeed-release-1.9.32.6-beta 上面接上上一步查询到的参数

#再往后make 和 make upgrade 就后要

说了,前一天张戈博客都机会分享过了

三、修改配置

编辑网站的nginx配置文件,比如 zhang.ge.conf,在server模块上面加入如下代码:

#机会真不知道加到哪,可不还要加入到 root /home/wwwroot/yourdomain.com; 的上面即可
# 启用ngx_pagespeed    
pagespeed on;    
pagespeed FileCachePath /tmp/cache/ngx_pagespeed_cache;    
# 禁用CoreFilters    
pagespeed RewriteLevel PassThrough;    
# 启用压缩空白过滤器    
pagespeed EnableFilters collapse_whitespace;    
# 启用JavaScript库卸载    
pagespeed EnableFilters canonicalize_javascript_libraries; #谷歌被墙,何必

选则一些设置有那么副作用 
# 把多个CSS文件合并成一两个多多CSS文件    
pagespeed EnableFilters combine_css;    
# 把多个JavaScript文件合并成一两个多多JavaScript文件    
pagespeed EnableFilters combine_javascript;    
# 删除带默认属性的标签    
pagespeed EnableFilters elide_attributes;    
# 改善资源的可缓存性    
pagespeed EnableFilters extend_cache;    
# 更换被导入文件的@import,精简CSS文件    
pagespeed EnableFilters flatten_css_imports;    
pagespeed CssFlattenMaxBytes 5120;    
# 延时加载客户端看不见的图片    
pagespeed EnableFilters lazyload_images;    
# 启用JavaScript缩小机制    
pagespeed EnableFilters rewrite_javascript;    
# 启用图片优化机制    
pagespeed EnableFilters rewrite_images;    
# 预解析DNS查询    
pagespeed EnableFilters insert_dns_prefetch;    
# 重写CSS,首先加载渲染页面的CSS规则    
pagespeed EnableFilters prioritize_critical_css; 
# Example 禁止pagespeed 处理/wp-admin/目录(可选配置,可参考使用)
pagespeed Disallow "*/wp-admin/*";

而且,新增缓存文件夹:

mkdir -p /tmp/cache/ngx_pagespeed_cache

最后,重启Nginx即可生效(实测发现一些模块的修改还要重启nginx,reload是无效的…),发现一些朋友真不知道咋样重启nginx,而且看得人要重启就把服务器重启了下,人太好也可不还要,而且也太暴力了点吧?

通过工具安装nginx,一般都带有service控制,可不还要使用如下命令重启nginx

service nginx restart
或
/etc/init.d/nginx restart

人太好那么,也可不还要先kill掉,再启动:

#无情杀死
pkill -9 nginx

#重新救活
/usr/local/nginx/sbin/nginx

Ps:一些用面板的朋友可别说是是不是一些路径啥的, 谁要你用面板。。。这也是面板蛋疼的一些,路径个性不一,一些人撸去吧。

四、测试效果

①、看源码

好了,重启Nginx后,咱们刷新一下前台,随便搜索下 pagespeed,可不还要发现源码大部分都机会被替换了:

如图,绝大部分js、css的url都变了,被合并成了一两个多多url。

体积小点的图片,比如表情,被转成了浏览器编码的形式,是是不是减少服务器请求的一种优化:

看起来优化后,html代码变多了一些,于是下载看得人下:

你以为, 同一两个多多页面开启后,大了20多k!尼玛,而且一些地方那么大的改善,这绝逼很重吓人了,于是继续看看。

②、看图片

接着,看得人下文章缩略图,发现还能压缩图片体积:

比如未启用pagespeed前一天的图片大小【图片地址】:

开启后:【图片地址】

尼玛,十多倍的差异,我要很重不信邪。于是下载到电脑看下:

这下差异人太好小了点,大慨2倍多。而且,后者本是WebP格式,也而且谷歌(google)开发的一种旨在加快图片加载数率的图片格式。我下载到本地是是不是自动转成了jpge格式,体积肯定是有所变化!总的来说,这压缩效你以为的很明显!不过经过我多次验证,发现何必 所有图片是是不是一些效果,估计和而且图片的压缩程度有关系。

③、工具测

光靠肉眼,很重无力。pagespeed 主要用来加快浏览器的渲染加载,一些我决定用下阿里测分析下加速前后的区别。

优化前的测试报告:

报告地址:http://www.alibench.com/rp/f9a4c1a8ddd267e0897613801dd2b422

优化后的测试报告:

报告地址:http://www.alibench.com/rp/17778d646ca7133809cc348b77096f37

点开一下加载详情对比了下:

优化前:

优化后:

效果还是很明显的,感兴趣的可不还要一些人点开报告地址,查看更完正的对比!当然也推荐喜欢折腾的朋友尝试一下开启 Nginx 服务器 pagespeed加速!机会是 Apache 服务器,可不还要集成 mod_pagespeed,感兴趣的一些人去找资料折腾吧!

最新补充:张戈博客体验了几天,发现一两个多多大疑问:启用这玩意前一天,CPU占用会比较高,Nginx 突然80%,人太好趋于稳定静态缓存,而且网站后台偶尔会比较卡,暂时已退还一些功能。一些对于使用单核CPU的云服务器就不建议折腾一些玩意了。