日志
- 2023-06-10:新增在博客中插入CDN视频的方案。
前言
我在《Docker系列 WordPress系列 通过Cloudflare Workers加速WordPress博客》一文中描述了如何充分利用Cloudflare Worker实现WordPress HTML缓存(基于WP Super Cache)的加速,就算是国内用户(以访客身份)访问本博客时,网站响应速度和资源下载时间应该已经不错。不过,我的博客里还有一些比较大的文件,比如壁纸和字体;博客里特效甚多,各种css/js文件不在少数。这些静态资源累积起来后对博客的访问性能影响不小。
一种比较简单的方法就是将静态资源托管到Github里,然后通过调用fastly源。实际上这也是bloghelper的工作原理,你可以通过https://fastly.jsdelivr.net/gh/huangwb8/bloghelper@latest
调用仓库里的css/js/图片等静态资源。值得注意的是,Argon主题本身也提供了数种主题静态资源的CDN调用方式:
不过,如果网站想在国内具有较完美的访客响应和下载性能,一般还是需要使用国内的CDN。今天我介绍的是另外一种方法,即使用DogeCloud CDN
托管静态资源。我主要是从Zkeq和春花秋月那里了解到DogeCloud的:
使用国内的CDN对于资源的国内访问更有利,时延更低,下载速度更快。不过,使用DogeCloud有一个重要前提,即有一个备案域名。因此,本文所演示的方法适用于博客域名非备案、但又有另外一个备案域名的博主(不知道这种情况多不多见 (⊙﹏⊙))。
我博客对应的顶级域名并没有备案。如果没有备案域名,我就不得不使用DogeCloud的测试域名(通常类似于s-gz-XXXX-XXXXXXX.oss.dogecdn.com
),这并不是长久之计。所以,在和小伙伴Zkeq交流后,他给域名bensz.onmicrosoft.cn
添加了一条指向我DogeCloud云存储的CNAME记录,专门用于访问托管在DogeCloud的静态资源,比如主题css/js、特效css/js、壁纸、字体等。
如果你满足上述条件的话,可以往下看看,自己尝试使用一下CDN;不然就此打住吧!
初识DogeCloud
DogeCloud的登陆/注册地址为:单击这里。请注意,这个注册是需要实名的。界面大致如下:
DogeCloud每个月都有免费资源是20G(国内通用),一般我是用不完的。图中我之所以有扣费,是因为我的融合CDN开启了全球加速,国外的流量是需要另外计费的。为了照顾外面的兄弟也是拼了!
我们直接点击融合CDN
进去查看:
这里可以管理域名/证书、刷新预热URL/目录、查看统计分析:
在云储存里,还可以管理你的静态资源:
视频云我没用过,就不过多介绍了。
融合CDN
域名/证书
这一段没啥好讲的,域名和添加ssl证书。基本操作!
添加好域名后,我们点开域名管理:
这里提供了很多访问控制功能,这也是我比较喜欢DogeCloud的原因。具体看图:
- 基本配置如下:
- 缓存配置如下:
-
回源配置默认即可,无特效设置。
-
访问控制如下,可以使用防盗链功能:
- 性能优化我只打开了智能压缩,其它两个你也可以试试看:
- https配置如下,这一步需要你提前上传好https证书:
刷新预热
一般都是在刚刚配置好的时候,为了快速生效,在这里对某个资源文件夹进行预热。如果你平时有修改某个文件的内容,在替换为新资源后,也可以来这里预热。
这个功能我平时很少用。
统计分析
这里可以看到流量分布的基本数据(中国大陆)。可以看到,13.woff2
这个文件占用了很大的流量,它是本博客用的字体。其它基本上都是一些壁纸图片。
境外流量也可以看到,不过没有中国大陆多。这可能是之前的域名备案过期了,所以流量都走的国外:
DogeCloud CDN的每月免费额度是20G(境内通用),境外流量是要另外收费的 (ฅ´ω`ฅ) 所以,建议小伙伴将bensz.onmicrosoft.cn
添加到DIRECT记录,不要用PROXY来访问。
云存储
直接在这里创建存储空间即可:
访问资源时也很容易,链接类似于:
图片中的*
指的是argon
文件夹里文件的相对路径。
使用方法
非常简单。一般地,对于单个文件,可以直接复制链接:
大家可以看我随机图API的图片链接,格式差不多就是这样:
https://bensz.onmicrosoft.cn/images/bbmb-66.jpg
这里指的是:调用了bensz-argon
存储中images
文件夹的图片bbmb-66.jpg
。其它各种js/css的使用方法也是类似的。当然,由于我禁止了浏览器空来源直接访问
,地址https://bensz.onmicrosoft.cn/images/bbmb-66.jpg
是无法直接被访问的,只有在允许的站点里才可以正确显示。这个防盗链功能还是很实用的,防止某些不良用心的坏人盗刷流量 (ฅ´ω`ฅ)
视频的使用是类似的(前期设置请看《Docker系列 深度使用nextcloud(六)在博客中嵌入视频》),比如:
<div class="nextcloud-video">
<video controls loop muted>
<!--在video标签后面加autoplay可以自动播放-->
<source src="https://bensz.onmicrosoft.cn/images/02bz-24-01.mp4" type="video/mp4">
</video>
</div><br>
小结
这次主要是以DogeCloud为例讲解了CDN的大致使用方案。我估计又拍云之类的CDN用法应该是差不多的。有经验的小伙伴欢迎在评论区留言了!
---------------
完结,撒花!如果您点一下广告,可以养活苯苯😍😍😍