WP Super Cache是由WordPress官方开发人员Donncha开发的一套静态缓存插件,通过将整个网页缓存为HTML文件,构建缓存文件,减少Web服务器动态解析PHP文件的次数,从来提高访问WordPress网站的速度~本文的内容介绍如何配置WP Super Cache,以及在Nginx上如何开启mod_rewrite模块~
WP Super Cache基本介绍
WP Super Cache由WordPress动态博客生成静态HTML文件,一旦这个静态文件生成了,访问你网站的大部分人就可以直接访问这个HTML而不是通过更加耗时的WordPress PHP脚本,这些可以直接访问静态缓存文件的用户包括:
- 没有登录的用户。
- 没有给你博客留言的用户。
- 没有访问一个密码保护博客的用户。
WP Super Cache配置
1.安装&启用
安装依然是在插件页面搜索即可~安装启用,在仪表盘->设置下面就会多了一个WP Super Cache:
2.设置->高级
在高级界面,选择所有的推荐项(即后边有(推荐))。其中Cache Delivery Method中,Simple对应的就是PHP模式,通过PHP来处理缓存文件,而Expert则是通过mod_rewrite来处理。
PHP模式比较容易配置,不需要修改Nginx配置文件,但是在面对大流量访问时没有mod_rewrite出色,所以我就直接没有考虑这个模式~
而选择Expert模式时,因为WP Super Cache官方是以Apache为基础开发的,所以使用Nginx时,需要修改配置文件,例如我的网站配置文件是default,先新建文件:
vi /etc/nginx/snippets/wp-super-cache.conf:
文件内容包括:
# WP Super Cache 规则 set $cache_uri $request_uri; # POST请求不缓存 if ($request_method = POST) { set $cache_uri 'null cache'; } # 带查询参数的页面不缓存 if ($query_string != "") { set $cache_uri 'null cache'; } # 不缓存匹配下列路径段的请求 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'; } # 对已登录的用户和已留言的用户不缓存 if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") { set $cache_uri 'null cache'; }
再在default配置文件中引入:
server { #略过其他设置 include snippets/wp-super-cache.conf; location / { try_files /wp-content/cache/supercache/$http_host/$cache_uri/index-https.html $uri $uri/ /index.php?$args ; } # 如果你不使用HTTPS,就这样配置 # location / { # try_files /wp-content/cache/supercache/$http_host/$cache_uri/index.html $uri $uri/ /index.php?$args ; # } }
3.设置->CDN
我暂时没有加CDN服务器~以后如果用上了再来补上
4.设置->内容
这里可以看到你的缓存内容,包括删除缓存,列出缓存文件等等:
5.设置->预缓存
预缓存指每隔制定时间缓存所有已发布的页面和文章(如果页面很多则不建议开启,因为会占用很大的空间),开启后用户访问会直接得到缓存后的页面,加快响应速度,根据你的网站的更新频率来刷新缓存文件(不刷新就不会删除这些缓存文件,一直用,在这种模式下,页面过期时间设置无效!),例如我设置的是600分钟刷新一次。
WP Super Cache测试
上述设置完成后,刷新页面,进入开发者模式,如果页面源码最底部可以看到这样的评论,则说明配置成功:
<!-- Dynamic page generated in 0.450 seconds. --> <!-- Cached page generated by WP-Super-Cache on 2017-12-20 12:11:01 --> <!-- super cache -->
这个提示可以在设置->调试中关闭~
相关文章