WordPress极致加速-Nginx+WP Fastest Cache全静态化

avatar 2019年3月23日21:09:25 1 3,942

在使用Nginx+WP Fastest Cache时,虽然页面做了缓存,但并不是真正的缓存,请求仍然需要通过PHP解析器来处理,最简单的验证方法时把网站目录的index.php修改个名字,网站就挂掉了。

网上有很多Wp Super Cache配置Nginx的例子,但是没有找到Wp Fastest Cache配置的例子,下面的配置可以使你的WP Fastest Cache达到真正的完全静态,(甚至PHP进程挂掉,网站依旧能正常运行)

location / {
      # 如果请求的文件已存在,直接返回
      if (-f $request_filename) {
          break;
      }
      set $caches 1;    #是否缓存
      set $request_file $document_uri;    #获取请求文件
      set $cache_file '';        #缓存文件
      #请求方式是POST的不拦截
      if ($request_method = POST) {
          set $caches 0;
      }
      #包含GET请求参数的不拦截(访问量高可以注释掉)
      if ($query_string) {
          set $caches 0;
      }
      # 指定静态缓存文件的路径
      if ($caches = 0) {
          set $request_file '';
      }
      if ($request_file ~ ^(.+)$) {
          set $cache_file /wp-content/cache/all/$1/index.html;    #你的WP Fastest Cache缓存目录
      }
      # 命中缓存
      if (-f $document_root$cache_file) {
          rewrite ^ $cache_file last;
      }
      # 无法命中缓存,转给WordPress来处理
      if (!-e $request_filename) {
          rewrite . /index.php last;
      }
}

接着看看,你的网站打开速度是不是快了好多好多。

如果想在header中检测是否生效了,就添加下面的代码:

location /wp-content/cache/all/ {    #这一行是你的WP Fastest Cache缓存文件路径
        add_header Cache HIT;        #添加header头,表示命中了缓存
}
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  1   博主  0

    • avatar 七月 1

      围观一下