Dragon
  • 注册、登陆后即可全站无广告畅快浏览本博客了!
  • 本博客已开启支持百度AI智能内容自动审核机制!
明月登楼明月登楼  2017-07-30 01:33 明月登楼的博客 隐藏边栏 |   27 条评论  6,787 
文章评分 0 次,平均分 0.0
导语: 如果你用的也是 Nginx 的话记得一定不要忘了 Fastcgi_cache 和 ngx_pagespeed 这两个模块哦,这绝对是两个优化 WordPress 的神器呀,这里明月的叹服一下 Nginx 了,真心好牛逼呀,据说还有非常多的神乎其技的功能呢,明月正在努力的折腾学习中,以后要好的收获了我一定会及时分享给大家的。

还记得明月在明月的 WordPress 优化思路总结一文里专门的讲到了有关 WordPress 性能优化的问题,记得特别强调了 WordPress 本地缓存的重要性,为此还一直在推荐大家使用 WP-Rocket 插件(请参考推荐一个 WordPress 本地缓存的神器: WP-Rocket 插件(附图文教程))。今天要给大家分享的是最近明月一直在折腾的一个基于 Nginx 的静态化缓存方法,这个方法不是依托于 WordPress 系统的,而是直接在 WEB 服务器层面生成和调取静态化缓存的,可以说在执行效能上是 WordPress 插件静态化的效能无法比拟的,再配合 ngx_pagespeed 模块使用 Google 的 PageSpeed 技术压缩优化 js、css、图片等静态文件后,直接让 WordPress 在服务器层面就达到最佳的性能表现。

最近也不知道是咋回事儿了,一直用的好好的 WP-Rocket 2.9.9 版突然有一天造成 WordPress 登录失效了,无论如何都无法正常的登录后台,只有停用 WP-Rocket 后才可以正常登录,安装最新版 WP-Rocket 又出现频繁的报错和授权验证失败的问题,没办法只能舍弃这个缓存神器了。这时候想起里以前在张戈博客看到一篇Nginx 开启 fastcgi_cache 缓存加速,支持 html 伪静态页面的文章,正好目前已经用的是 Nginx 了,所以就照着此文开始折腾了起来,没有想到竟然一步成功了,嘿嘿!

测试后发现缓存效果相当的“棒”,直接 WEB 服务器层面的缓存静态化表现真的是相当的“彪悍”呀,速度提升实在是太明显了。具体的教程我就不在这里过多的赘述了,大家可以参考【张戈博客』上文章即可了,里面说的是非常的明确了,如果是多站点的话可参考Nginx 配置多站点下的 Proxy_cache 或 Fastcgi_cache 缓存加速,多思考、多实践一定可以成功的。运用 Nginx 配置文件的灵活性可以达到非常好的效果的。

顺便分享一点儿小知识,那就是 Nginx 下 fastcgi_cache 和 proxy_cache 的区别:

Nginx 的 Fastcgi_cache 模块与 Proxy_cache 模块缓存区别
  1. proxy_cache 的作用是缓存后端服务器的内容,包括静态的和动态。
  2. fastcgi_cache 的作用是缓存 fastcgi 生成的内容,很多情况是 php 生成的动态的内容。
  3. proxy_cache 缓存减少了 nginx 与后端通信的次数,节省了传输时间和后端宽带。
  4. fastcgi_cache 缓存减少了 nginx 与 php 的通信的次数,更减轻了 php 和数据库(mysql)的压力,这比用 memcached 之类的缓存要轻松得多。

静态化缓存实现了,发现服务器的负载一直都保持很低,于是又开始考虑在 Nginx 里加入 ngx_pagespeed 模块来“锦上添花”(特别强调:ngx_pagespeed 模块适合独立主机使用,虚拟主机的话不建议使用,因为 ngx_pagespeed 模块会增加主机 CPU 的负载的,鱼与熊掌不可兼得呀!),虽然几天以来在 Nginx 添加模块编译的时候尝试了多次失败后终于还是成功了(请参考Nginx 模块 ngx_pagespeed-1.12.34.2-stable 终于编译成功了),并且用上 ngx_pagespeed-1.12.34.2-stable 最新版,这个版本支持 Redis 的,好像是可以把一些静态文件比如: js、css、图片等的优化压缩工作放到 Redis 里(可以理解为内存里)来提升优化效能。

在使用 ngx_pagespeed 模块后明月以外的发现博客调用的 Google AdSense 广告代码载入时间也提升了不少,甚至很多的外链 js、css 调用载入速度都有所提升。 CDN 流量好像也节约了一点点,哈哈,真的好意外的效果呀。

还有一个意外惊喜,文章列表页的缩略图片竟然被 ngx_pagespeed 给转换成 WebP 格式了,哈哈!牛逼呀!

下面分享一下明月目前使用的 ngx_pagespeed 模块的配置,从这些配置上大家就可以感受到 ngx_pagespeed 的强大了:

  1. # 启用 ngx_pagespeed
  2. pagespeed on;
  3. #指定 ngx_pagespeed 缓存路径
  4. pagespeed FileCachePath /var/ngx_pagespeed_blog_cache;
  5. # 禁用 CoreFilters
  6. pagespeed RewriteLevel PassThrough;
  7. #开启使用 Redis
  8. pagespeed RedisServer "host:port";
  9. # X-Header 值,用于判断是否生效
  10. pagespeed XHeaderValue "Powered By www.mydomain.com";
  11. # 过滤规则
  12. #pagespeed RewriteLevel OptimizeForBandwidth;
  13. # 不需过滤的目录或文件
  14. pagespeed Disallow "*/wp-admin/*";
  15. pagespeed Disallow "*/wp-login.php*";
  16. # 启用压缩空白过滤器
  17. pagespeed EnableFilters collapse_whitespace;
  18.  # 启用 JavaScript 库卸载
  19.  pagespeed EnableFilters canonicalize_javascript_libraries;
  20. # 把多个 CSS 文件合并成一个 CSS 文件(比较容易引起主题版面混乱,所以我禁用了
  21. #pagespeed EnableFilters combine_css;
  22. # 把多个 JavaScript 文件合并成一个 JavaScript 文件,禁用原因同上,大家可以酌情开启
  23. #pagespeed EnableFilters combine_javascript;
  24. # 删除带默认属性的标签
  25.  pagespeed EnableFilters elide_attributes;
  26. # 改善资源的可缓存性
  27.  pagespeed EnableFilters extend_cache;
  28. # 更换被导入文件的@import,精简 CSS 文件
  29.  pagespeed EnableFilters flatten_css_imports;
  30.  pagespeed CssFlattenMaxBytes 5120;
  31. # 延时加载客户端看不见的图片
  32.  pagespeed EnableFilters lazyload_images;
  33. # 启用 JavaScript 缩小机制
  34.  pagespeed EnableFilters rewrite_javascript;
  35. # 启用图片优化机制
  36.  pagespeed EnableFilters rewrite_images;
  37. # 预解析 DNS 查询
  38.  pagespeed EnableFilters insert_dns_prefetch;
  39. # 重写 CSS,首先加载渲染页面的 CSS 规则
  40.  pagespeed EnableFilters prioritize_critical_css;

如果你用的也是 Nginx 的话记得一定不要忘了 Fastcgi_cache 和 ngx_pagespeed 这两个模块哦,这绝对是两个优化 WordPress 的神器呀,这里明月的叹服一下 Nginx 了,真心好牛逼呀,据说还有非常多的神乎其技的功能呢,明月正在努力的折腾学习中,以后要好的收获了我一定会及时分享给大家的。

「点点赞赏,手留余香」

还没有人赞赏,快来当第一个赞赏的人吧!

明月登楼给明月登楼打赏
×
予人玫瑰,手有余香
  • 2
  • 5
  • 10
  • 20
  • 50
2
支付

本文来自投稿,不代表明月登楼的博客立场,版权归原作者所有,欢迎分享本文,转载请保留出处!

明月登楼
明月登楼 关注:1    粉丝:0 最后编辑于:2019-07-06
玉满斋(www.ymanz.com)网站创始人,☑玉器爱好者 ☑微博控 ☑手机控 ☑历史控 ☑宅 ☑网络控 ☑Wordpress控

发表评论

表情 链接 私密 格式 签到
  1. homejoy
    homejoy 来自天朝的朋友 谷歌浏览器 61.0.3163.100 Windows 7

    ngx_pagepseed 有时候会有些问题,造成图片什么的 404,需要经常
    touch /dev/shm/ngx_pagespeed_cache/xxxxxxxxxxxx/cache.flush
    不过,确实优化能力出众。

    9楼 2017-09-29 09:25
    0 0 回复
  2. 重庆礼品公司

    学习了...不过对我等没有太多语言基础的人来说还是折腾的够呛
    不过说到 WordPress 我织梦和 WP 都用过 感觉织梦收录好像是要比 WP 快点点

    8楼 2017-08-04 11:15
    0 0 回复
  3. 福利堆
    福利堆 评论达人 LV.1 来自天朝的朋友 谷歌浏览器 55.0.2883.87 Windows 10

    nginx 简直搞不懂哦

    7楼 2017-08-03 17:17
    0 0 回复
  4. 很文博客
    很文博客 评论达人 LV.1 来自天朝的朋友 谷歌浏览器 50.0.2661.102 Windows 8.1

    支持一下,祝博主商祺!

    6楼 2017-08-03 16:15
    0 0 回复
  5. 闲鱼
    闲鱼 评论达人 LV.5 来自天朝的朋友 QQ浏览器 iPad OS 10_2 like Mac OS X) AppleWebKit

    预感明月会成为大神

    5楼 2017-08-03 12:44
    0 0 回复
  6. 橘子书
    橘子书 评论达人 LV.4 来自天朝的朋友 谷歌浏览器 48.0.2564.116 Windows 10

    哪天我去折腾一下!

    4楼 2017-08-02 10:35
    0 0 回复
    • 明月登楼
      明月登楼 博主 来自天朝的朋友 谷歌浏览器 60.0.3112.78 Windows 10

      @橘子书呵呵,ngx_pagespeed 还是不要折腾了,因为这玩意儿感觉在国内有点儿水土不服,会产生很多的 JS 失效链接和语法错误啥的!我已经停用了!

  7. 阁楼藏

    学习了

    地板 2017-08-02 01:14
    0 0 回复
  8. 冷知识
    冷知识 评论达人 LV.3 Hong Kong 火狐浏览器 54.0 Windows 7

    我也用了一款缓存的软件,总觉得还是不够好

    板凳 2017-07-31 16:04
    0 0 回复
  9. 懿古今
    懿古今 评论达人 LV.4 Hong Kong 谷歌浏览器 55.0.2883.87 Windows 7

    没想到博主都折腾起这个来了,当年看到张戈博客上分享的文章,我根本不敢去折腾,感觉太高深了。所以很佩服明月兄的折腾精神

    沙发 2017-07-30 23:46
    0 0 回复
扫一扫二维码分享