• 推荐!搬瓦工官方代理,自动更换被封IPJust My Socks

ad

WordPress静态缓存插件WP Super Cache

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脚本,这些可以直接访问静态缓存文件的用户包括:

  1. 没有登录的用户。
  2. 没有给你博客留言的用户。
  3. 没有访问一个密码保护博客的用户。

 

WP Super Cache配置

1.安装&启用

安装依然是在插件页面搜索即可~安装启用,在仪表盘->设置下面就会多了一个WP Super Cachewp-super-cache-welcome

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.设置->内容

这里可以看到你的缓存内容,包括删除缓存,列出缓存文件等等:

wp-super-cache-contents

5.设置->预缓存

预缓存指每隔制定时间缓存所有已发布的页面和文章(如果页面很多则不建议开启,因为会占用很大的空间),开启后用户访问会直接得到缓存后的页面,加快响应速度,根据你的网站的更新频率来刷新缓存文件(不刷新就不会删除这些缓存文件,一直用,在这种模式下,页面过期时间设置无效!),例如我设置的是600分钟刷新一次。

wp-super-cache-preload

 

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 -->

这个提示可以在设置->调试中关闭~

点赞