wordpress缓存插件:wp super cache 使用笔记 nginx下

  1. 两种模式
    1. 简单模式
    2. 专家模式

try_files $uri $uri/ /index.php?$args;实现伪静态的前提下,两种模式都会生成html格式的缓存文件

  1. 压缩页面以便让来访者更快浏览
    会在生成html缓存文件的同时生成一个gz压缩包

  2. 到期时间和垃圾回收器
    根据设定来清理缓存。

    功能截图

    定时器选项会在动态页面访问时判断是否达到定时器间隔的时间,如果达到了间隔的时间就清理一次缓存(所有缓存超时的文件)。
    时间选项会在动态页面被访问时判断是否达到设定的时间且缓存文件是否未清理,如果都两个都满足就清理一次缓存(所有缓存超时的文件)。

  3. 实现真静态
    主机规则地址:https://wordpress.org/support/article/nginx/#wp-super-cache-rules

# WP Super Cache rules.
# Designed to be included from a 'wordpress-ms-...' configuration file.
 
set $cache_uri $request_uri;
 
# POST requests and urls with a query string should always go to PHP
if ($request_method = POST) {
        set $cache_uri 'null cache';
}
 
if ($query_string != "") {
        set $cache_uri 'null cache';
}   
 
# Don't cache uris containing the following segments
if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") {
        set $cache_uri 'null cache';
}   
 
# Don't use the cache for logged in users or recent commenters
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
        set $cache_uri 'null cache';
}
 
# START MOBILE 如果手机端不需要缓存就把注释去掉
# Mobile browsers section to server them non-cached version. COMMENTED by default as most modern wordpress themes including twenty-eleven are responsive. Uncomment config lines in this section if you want to use a plugin like WP-Touch
# if ($http_x_wap_profile) {
#        set $cache_uri 'null cache';
#}
 
#if ($http_profile) {
#        set $cache_uri 'null cache';
#}
 
#if ($http_user_agent ~* (2.0\ MMP|240x320|400X240|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|Googlebot-Mobile|hiptop|IEMobile|KYOCERA/WX310K|LG/U990|MIDP-2.|MMEF20|MOT-V|NetFront|Newt|Nintendo\ Wii|Nitro|Nokia|Opera\ Mini|Palm|PlayStation\ Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|SHG-i900|Small|SonyEricsson|Symbian\ OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|webOS|Windows\ CE|WinWAP|YahooSeeker/M1A1-R2D2|iPhone|iPod|Android|BlackBerry9530|LG-TU915\ Obigo|LGE\ VX|webOS|Nokia5800)) {
 #       set $cache_uri 'null cache';
#}
 
#if ($http_user_agent ~* (w3c\ |w3c-|acs-|alav|alca|amoi|audi|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-|dang|doco|eric|hipt|htc_|inno|ipaq|ipod|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-|lg/u|maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|palm|pana|pant|phil|play|port|prox|qwap|sage|sams|sany|sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo|teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|wap-|wapa|wapi|wapp|wapr|webc|winw|winw|xda\ |xda-)) {
  #      set $cache_uri 'null cache';
#}
#END MOBILE
 
# Use cached or actual file if they exists, otherwise pass request to WordPress
location / {
        try_files /wp-content/cache/supercache/$http_host/$cache_uri/index.html $uri $uri/ /index.php?$args ;
}

其中try_files /wp-content/cache/supercache/$http_host/$request_uri/index.html $uri $uri/ /index.php?$args;,如果在本地测试且主机带有端口就把$http_host换成$host
需要注意的是,wp super cache 的垃圾回收器需要访问动态页面才能触发,在rewrite后,如果被访客访问的页面均已被缓存,那么访问的都是静态文件。若没有评论触发缓存更新或管理员没有手动清除缓存,缓存将不会清理,也就不会更新。

5.简单与专家模式区别
没看源码不知道,但是使用体验是一致的,不论勾选简单模式还是专家模式都可以实现真静态。

总结:流量不大用缓存插件。当流量很大,数据很多的时候,缓存插件的作用就不那么大了,应该考虑从项目整体来优化。

你可能感兴趣的:(wordpress缓存插件:wp super cache 使用笔记 nginx下)