手把手教你搭建个人网站七:配置缓存,提高访问速度

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小站」,一同进步~

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171220G0TWYC00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券