自从网站迁移回国内后,一直在恢复旧服务器的文章。现在,大致上,都恢复完成了。今天,给各位分享一个本站目前在用的Wordpress动静分离策略及缓存策略。其中,动静分离我使用的是又拍云的云存储将图片单独放于又拍云,其他静态文件(CSS、JS等)及动态文件(PHP)放于网站服务器。其中js跟css不放在又拍云是因为主题经常更新,放到又拍云的话,更新不太方便。缓存使用的是memcached内存缓存、opcache缓存php解析、Cache Enabler缓存html静态页面。
WordPress动静分离
这里使用的是WPUpYun插件,实现了网站图片上传自动同步到又拍云存储空间。插件的使用方法,可以直接在插件说明页面查看,这里给各位分享下我的几处设置(主要是justnews主题适配)
需要注意的是,插件的图片处理要关掉(因为justnews自带了webp压缩处理,添加对应又拍云的后缀即可)此外,缩略图功能需要开启。
WordPress缓存策略
memcached需要在服务器中安装memcached并安装php相关扩展。由于,我是用的lamp一键包,在环境搭建时,已经完成了memcached的安装。如果你的服务器还没有安装memcached,可以通过宝塔安装或者代码安装。
安装完成后,只需要在网站目录/wp-content下添加一个object-cache.php文件即可开启memcached功能。此外,你还需要在网站根目录下wp-config.php中添加如下内容来开启缓存功能。
define( 'WP_CACHE', true );
到这里,随着用户访问网站,你的服务器就会根据一定的规则来将一些数据库查询结果保存到内存中。
接下来,就是针对未登录用户开启静态页面缓存。即,当访客访问页面后,在数据库中产生该网页的纯静态html文件。当其他访客访问该页面时,直接从网站文件中或许该静态文件即可。相当于实现了动态页面转换成静态页面的过程。我们可以通过适当的设置,实现登录用户不加载缓存页面,用户评论或访客评论均更新当前页面的缓存。
而这些都可以通过一个Cache Enabler插件来实现,插件的相关设置如下图所示:
- 第一项代表,插件更新或停运,会清理整个网站的缓存
- 第二项代表,网站发布新文章,会更新整个网站的缓存
- 第三项代表,文章有新评论,会更新整个网站的缓存
当然,你也可以根据实际情况改变这些设置。
上图中,advanced-cached.php即Cache Enabler实现的静态页面缓存;object-cache.php即memcached实现的内存缓存。
上图为,网站目录中缓存的html文件。每个文件代表分类目录,里面有被缓存的页面(只要访客访问一次,就会将html页面缓存至网站目录,供其他访客直接访问文件)
原创文章,作者:古哥,转载需经过作者授权同意,并附上原文链接:https://iymark.com/articles/342.html
评论列表(4条)
对啦,你可以通过winscp等ftp工具登录又拍云云存储,上传你主题的js和css文件,然后修改主题的css和js链接来实现更加全面的动静分离。前提是,你的主题有设置cdn之类的地方(就是主题设置中有修改css和js链接的地方)。关于又拍云存储如何登录,可以参考如下:
主机名:v0.ftp.upyun.com
用户名:操作员名/服务名
密码:云存储操作员密码
@古哥:网站快了不少
芜湖,起飞
@太耀:多谢支持