查看完整视频
小黑屋思过中,禁止观看!
评论并刷新后可见

您需要在视频最下面评论并刷新后,方可查看完整视频

积分观看

您支付积分,方可查看完整视频

{{user.role.value}}
付费视频

您支付费用,方可查看完整视频

¥{{user.role.value}}
专属视频

只允许以下等级用户查看该视频

升级
会员专享

视频选集

wordpress 缓存大法优化访问速度(wordpress网页加载太慢了)

  • 视频介绍
  • 视频选集
  • 交流讨论
!
也想出现在这里? 联系我们
广告位
当前位置:首页>

使用WordPress建站的过程中,对于优化WordPress性能、加快网站访问速度这一环节走了不少的“弯路”。当网站出现访问缓慢、CPU内存耗尽的情形时,最开始想到的是升级服务器配置,后来发现有些无良的VPS商家背后限制资源严重,加钱升级真的很伤人。

最大的体会就是同样的配置,在不同的VPS商家那里跑同一个网站,在同样的流量情况下,居然一个顺畅而另一个卡顿,这个给我最大的感受就是在购买VPS之前一定要看看别人的评测,尤其是VPS主机性能评测这一块,一定要仔细对比,否则容易花不少冤枉钱。

后来给Wordpress做优化时,关注在页面缓存上,之前用过的缓存插件包括但不限于WordPress Super Cache、WP Fastest Cache、W3 Total Cache、cos-html-cache、Cachify……总得来说,安装了缓存插件后提速还是有效果的,但是也带来了不少的问题。

网站配置

# Cache START #
     set $skip_cache 0;
         #post访问不缓存
         if ($request_method = POST) {
             set $skip_cache 1;
         }  
         #动态查询不缓存
         if ($query_string != "") {
             set $skip_cache 1;
         }  
         #后台等特定页面不缓存(其他需求请自行添加即可)
         if ($request_uri ~* "/wp-admin/|/wp-admin/*|/ai/|/ai/*|Locoy.php|/xmlrpc.php|wp-.*.php|/feed|/rss|index.php|sitemap(_index)?.xml") {
             set $skip_cache 1;
         }  
       #对登录用户、评论过的用户不展示缓存
         if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in|wordpress_logged_in_[a-f0-9]+") {
             set $skip_cache 1;
         }
         location ~ [^/]\.php(/|$)
             {
                 try_files $uri =404;
                 fastcgi_pass unix:/tmp/php-cgi-74.sock;
                 fastcgi_index index.php;
                 include fastcgi.conf;  
                 #新增的缓存规则
                fastcgi_cache_bypass $skip_cache;
                 fastcgi_no_cache $skip_cache;
                 #添加一个头部,用于判断缓存状态
                 add_header X-Cache "$upstream_cache_status From $host";
                 fastcgi_cache blog;
                 add_header Cache-Control1  max-age=0;
                 add_header Nginx-Cache "$upstream_cache_status";
                 add_header Last-Modified $date_gmt;
                 add_header X-Frame-Options SAMEORIGIN; # 只允许本站用 frame 来嵌套
                 add_header X-Content-Type-Options nosniff; # 禁止嗅探文件类型
                 add_header X-XSS-Protection "1; mode=block"; # XSS 保护
                 etag  on;
                 fastcgi_cache_valid 200 301 302 1h;
                 expires 45m;
         }
     # Cache END #


B2主题网站配置

# Cache START #
     set $skip_cache 0;
         #post访问不缓存
         if ($request_method = POST) {
             set $skip_cache 1;
         }  
         #动态查询不缓存
         if ($query_string != "") {
             set $skip_cache 1;
         }  
         #后台等特定页面不缓存(其他需求请自行添加即可)
         if ($request_uri ~* "/wp-admin/|/wp-admin/*|/wp-json/*|/xmlrpc.php|wp-.*.php|/feed|/rss|/pay|/notify|/return|/download|/redirect|index.php|sitemap.xml|sitemap(_index)?.xml|sitemap.*.xml|sitemap.*.*.xml") {
             set $skip_cache 1;
         }  
       #对登录用户、评论过的用户不展示缓存
         if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in|wordpress_logged_in_[a-f0-9]+") {
             set $skip_cache 1;
         }
         location ~ [^/]\.php(/|$)
             {
                 try_files $uri =404;
                 fastcgi_pass unix:/tmp/php-cgi-74.sock;
                 fastcgi_index index.php;
                 include fastcgi.conf;  
                 #新增的缓存规则
                fastcgi_cache_bypass $skip_cache;
                 fastcgi_no_cache $skip_cache;
                 #添加一个头部,用于判断缓存状态
                 add_header X-Cache "$upstream_cache_status From $host";
                 fastcgi_cache blog;
                 add_header Cache-Control1  max-age=0;
                 add_header Nginx-Cache "$upstream_cache_status";
                 add_header Last-Modified $date_gmt;
                 add_header X-Frame-Options SAMEORIGIN; # 只允许本站用 frame 来嵌套
                 add_header X-Content-Type-Options nosniff; # 禁止嗅探文件类型
                 add_header X-XSS-Protection "1; mode=block"; # XSS 保护
                 etag  on;
                 fastcgi_cache_valid 200 301 302 1h;
                 expires 45m;
         }
     # Cache END #

nginx配置

fastcgi_cache_path /tmp/wpcache levels=1:2 keys_zone=blog:128m inactive=1d max_size=1G;
fastcgi_temp_path /tmp/wpcache/temp; #上面这些目录都需要手动提前创建好
fastcgi_cache_key "$scheme$request_method$host$request_uri";
fastcgi_cache_use_stale error timeout invalid_header http_500;
#忽略一切 nocache 申明,避免不缓存伪静态等
fastcgi_hide_header Pragma; #不对从被代理服务器传来的应答进行转发
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;

插件下载

插件以及代码

提取码:1em0复制
解压码:无

插件已经修改了,直接安装使用就可以

缓存效果

保存重启nginx后就可以看到缓存效果啦,如下图所示:

wordpress 缓存大法优化访问速度(wordpress网页加载太慢了)

对了记得退出登录 首次访问会显示BYPASS,第二次就缓存了。

 

给TA打赏
共{{data.count}}人
人已打赏
7 条回复A文章作者M管理员
  1. […] [文章] wordpress 缓存大法优化访问速度(wordpress网页加载太慢了)[文章] […]

  2. Nipsih

    购买后提示视频出错,具体怎么调整呢?

    • 林沐阳

      联系QQ2651636361

  3. 汤圆

    没有Apache的吗

    • 林沐阳

      现在主流的是nginx

  4. goyu

    子比主题可以用嘛

    • 林沐阳

      可以

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索