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

建站笔记2年前 (2023)更新 小萝卜头
1,113 0 0

使用过 CDN 的朋友多少都有过文章更新无法自动删除 CDN 缓存的困惑,针对这个痛点,张戈博客也是多次发布相关教程,为广大草根站长朋友们解惑。但是,仍然不能满足博友们的诉求,于是很多朋友留言、邮件给我,要我帮忙写一个 XX 云 CDN 的自动清理功能之类的请求,我一般都是给出了敬请期待之类答复。

由于本人日常工作非常繁忙,所以只能一再跳票,今天难得得空,正好研究下阿里云 CDN 的缓存清理。

实际上,这些 XX 云 CDN 基本都有一些 SDK 接口文档,有点基础的朋友多花点时间撸一撸都能自己写出来,再说张戈博客之前还分享了好几篇类似教程,依葫芦画瓢总会吧?总不能因为有个 XX 云就要写一个 XX 云 CDN 清理教程吧?写完了 XX 云可能很快又会有一个 OO 云了。。。所以,掌握套路才是解决问题的关键!

好了,废话不多说,直接上教程。WordPress发布/更新文章、提交/审核评论自动清理阿里云CDN缓存

一、准备工作

①、开启 CDN 缓存

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

②、申请认证密钥

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

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

申请成功后,得到如图的 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

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

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

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

收录于{张戈博客} 原文链接原文链接

© 版权声明

相关文章

暂无评论

暂无评论...