WordPress的网站页面是通过动态解析php文件,调用MySQL数据生成的,因此如果通过某个方法能够将整个网页直接变成HTML文件,Web服务器就不需要解析php文件了,那么你的WordPress网站的访问速度肯定可以得到显著的提高~
目前使用人数最多的一个缓存插件是WP Super Cache~
1.WP Super Cache基本介绍
WP Super Cache是由WordPress官方开发人员开发的一款静态缓存插件,直接产生HTML文件,因此可以不用解析一行代码就可以访问到你服务器上的页面资源~
WP Super Cache似乎与Apache更配,很多教程都是基于Apache的,它的作者也是以Apache为基础开发的。不过目前官网已经有了比较详细的关于Nginx的配置的介绍,今天的教程也是基于Nginx的~
2.配置WP Super Cache
安装&启用
安装依然是在插件页面搜索即可~安装启用,在仪表盘->设置下面就会多了一个WP Super Cache:
设置->高级
在高级界面,选择所有的推荐项。其中Cache Delivery Method中,Simple对应的就是PHP模式,通过PHP来处理缓存文件,而Expert则是通过mod_rewrite来处理。其中选择Expert模式时,需要修改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-(appcronloginregistermail).phpwp-.*.php/feed/index.phpwp-comments-popup.phpwp-links-opml.phpwp-locations.phpsitemap(_index)?.xml[a-z0-9_-]+-sitemap([0-9]+)?.xml)") { set $cache_uri 'null cache';}# 对已登录的用户和已留言的用户不缓存if ($http_cookie ~* "comment_authorwordpress_[a-f0-9]+wp-postpasswordpress_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 ; # }
}
设置->CDN
如果你有CDN服务器,就配置,我没弄那个,就默认跳过了~
设置->内容
这里可以看到你的缓存内容,包括删除缓存,列出缓存文件等等:
设置->预缓存
预缓存指缓存所有已发布的页面和文章(如果页面很多则不建议开启,因为会占用很大的空间),开启后用户访问会直接得到缓存后的页面,加快响应速度,根据你的网站的更新频率来刷新缓存文件(不刷新就不会删除这些缓存文件,一直用),例如我设置的是600分钟刷新一次。
3.测试
设置后,刷新页面,如果每页都有这样的评论,则说明配置成功:
这个评论可以在设置->调试中关闭~
Ok,配置搞定,速度是不是快了很多?~
看完本文有收获?请转发分享给更多人
关注「flyzy小站」,一同进步~
领取专属 10元无门槛券
私享最新 技术干货