陈德馨

WordPress发布/更新文章、提交/审核评论自动清理阿里云CDN缓存

901人参与 |分类: 站长百科|时间:2017年08月15日 15:12

使用过CDN的朋友多少都有过文章更新无法自动删除CDN缓存的困惑,针对这个问题网上有很多的相关教程,今天就来说说阿里云CDN的缓存清理。

一、准备工作

①、开启CDN缓存

这里应该无需多言,如果存在CDN缓存不刷新困惑,肯定已经在CDN配置了文章、首页或目录缓存机制,否则也就不需要清理页面缓存了。

②、申请认证密钥

阿里云密钥管理地址:https://ak-console.aliyun.com/#/accesskey

申请成功后,得到如图的AccessKey和AccessSecret,保存备用。

二、使用方法

①、下载代码

为方便维护,代码已提交到github,请前往github下载或使用git clone命令克隆服务器本地:

git clone https://github.com/jagerzhang/refresh-aliyun-cdn-for-wordpress.git

然后,将refresh-aliyun-cdn-for-wordpress文件夹,上传到WordPress主题目录:

②、部署代码

编辑refresh-aliyun-cdn-for-wordpress文件夹下的api.php文件,按照实际情况修改如下代码:

 //初始化

  public function __construct($accessKey,$accessSecret){

      //日志开关,1打开,0关闭

      $this->logSwitch    = 1;

      //清理缓存记录的日志文件,可以自行修改到其他路径

      $this->logFile      = '/tmp/cleanAlyCdnCache.log';

      //阿里云的accessKey,请按实际填写

      $this->accessKey    = '这里填写上文申请的AccessKey';

      //阿里云的accessSecret,请按实际填写

      $this->accessSecret = '这里填写上文申请的AccessSecret';

  }

保存后,修改WordPress主题函数模板文件functions.php,在<?php 之后加入如下代码并保存:

//清理阿里云CDN缓存

include(dirname(__FILE__) . "/refresh-aliyun-cdn-for-wordpress/api.php");

最后,如果PHP开启了opcache功能,还需要重启下php确保代码正常生效。

Ps:本文代码基于阿里云官方PHP-SDK代码修改,官方SDK包含了阿里云所有接口功能代码,单由于我们只用到CDN清理功能,所以其他功能代码已被我精简删除。

三、验证效果

完成上述部署操作后,我们可以进行效果验证了。验证方法很直观,我们先确保api.php文件中已将日志打开:

$this->logSwitch = 1;

然后,我们在服务器上使用tail -f查看日志:

tail -f /tmp/cleanAlyCdnCache.log

最后,我们试着更新文章、发表评论或审核评论,就会看到如下效果了:

alcdn.jpg

当然这只是日志,你还可以实际修改下文章内容,然后在浏览器对比下修改前后的内容是否发生改变。

好了,关于阿里云CDN缓存的刷新就介绍这么多,后面有空再补充下百度云CDN的刷新教程,敬请期待!

来源:陈德馨博客(微信/QQ号:35435164),转载请保留出处和链接!

地址:

必填

选填

选填

◎已有 0 人评论,请发表您的观点。