WordPress极致加速-Nginx+WP Fastest Cache全静态化
当使用Nginx+WP Fastest Cache时,尽管页面会被缓存,但这并不是真正的缓存。请求仍然需要通过PHP解析器进行处理。最简单的验证方法是将网站目录中的index.php文件更改名称,这样网站就会崩溃。
尽管网上有许多关于如何配置Nginx的Wp Super Cache的例子,但是没有找到有关如何配置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头,表示命中了缓存
}