利用jsDelivr CDN将Github作为全球高速免费图床

因为服务器在海外或ECS带宽小,站点中图片的加载会导致全站访问速度降低。常见的解决方案有,使用第三方图床,或国内IDC厂商的对象存储服务,总的来说都是将图片访问请求对象由站点服务器本身转移至其他实体,从而减轻服务器的带宽压力。上述方案效果最好的当然是购买对象存储服务,但价格不菲,而常见的免费图床的加速效果有限,稳定性也不高。

我在搭建博客的时候购买的是阿里云ECS,本天真的以为网站可以秒开,结果首页图片严重拖慢了网站的访问速度,首页加载完成居然需要3-4s,这显然是无法接受的。后来发现了一种绝妙的解决方案:将Github仓库作为图床,由jsDelivr CDN加速Github仓库的资源。该方案经过多名博主推荐,我自己用过之后速度确实提升不少,而且图片放在Github,可靠性也有保障。

关于jsDelivr

jsDelivr是由ProspectOne维护的公共库,使用的融合CDN技术,由多个CDN供应商提供了全球超过750个CDN节点。最重要的是,jsDelivr在中国大陆也拥有超过数百个节点,它居然有正规的ICP备案。这一条就甩了Cloudflare什么的几条街了。Github国内访问慢?没关系,用jsDelivr CDN加速不就完了,完美白嫖一个又快又稳定的高速图床hhh

官网:https://www.jsdelivr.com/

搭建Github仓库

首先需要在Github申请一个公开仓库(一定要选Public),有自己仓库的同学可以跳过这一步,不过还是建议单独开一个仓库作为图床。这是我自己的图床仓库:https://github.com/xygdys/uoynaf

仓库创建好之后创建目录wp-content/uploads,也就是和wordpress媒体库的路径是一致的,然后将你站点中uploads中的图片全都上传到仓库的相应目录下。当然也可以上传其他目录的图片,保持站点和Github仓库的路径一致就可以。比如我的仓库还上传了theme文件夹中的一些图片:

到这一步其实图床搭建已经完成了,jsDelivr CDN完全不需要配置,直接将Github仓库中的路径替换成jsDelivr链接直接就可以通过CDN访问,链接格式为:https://cdn.jsdelivr.net/gh/Github用户名/仓库名@master/图片路径,下面是一个例子:

Github仓库路径:uoynaf/wp-content/uploads/2021/07/jsdelivr-top.png

jsDelivr链接:https://cdn.jsdelivr.net/gh/xygdys/uoynaf@master/wp-content/uploads/2021/07/jsdelivr-top.png

直接通过上面的jsDelivr链接就可以访问图片,速度飞快hhh

不过这样还有一个问题,我们每次在文章中上传图片都需要手动上传到Github仓库中,并把图片链接更改为jsDelivr的链接,非常繁琐,不过好在有许多插件可以帮助我们自动化这一过程。

安装wp-github-gos插件

wp-github-gos可以使用 GitHub 仓库存储 WordPress 站点图片等多媒体文件,可以自动同步站点的媒体库并将新上传图片转换为jsDelivr CDN链接,免去了上面的手动上传步骤。不过如果你的uploads下有很多图片的话,强烈建议先将uploads手动上传至仓库,再安装本插件,直接使用插件的同步功能很慢且容易出错。

官方文档:https://acme.top/wp-github-gos

Github项目地址:https://github.com/niqingyang/wp-github-gos

安装好插件之后,需要对其进行一些配置,如下:

用户名、仓库名不用说,Access Token在Github账户的Settings——Developer settings——Personal access tokens处可以获取,点击Generate new Token生成,复制到插件设置即可。

比较关键的还有本地文件夹和URL前缀,分别填写媒体库文件夹的路径和相应的jsDelivr链接即可,比如我的是:

本地文件夹:wp-content/uploads

URL前缀:https://cdn.jsdelivr.net/gh/xygdys/uoynaf@master/wp-content/uploads

其他参数默认就可以了,喜欢折腾的同学可以参考官方文档,点击更新就完成了配置。之后我们在wordpress里上传的图片就会自动同步到Github仓库,并转换成jsDelivr的链接,站点中的图片也几乎是秒开,非~常~好~用~

评论

  1. you 博主
    2年前
    2021-7-24 18:24:11

    测试评论

  2. 1年前
    2021-12-20 15:45:10

    坐标 2021/12/20,jsDelivr 证书出错,各大博客爆炸

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇