200字
在Halo2.x中使用又拍云实现CDN和OSS云存储
2024-05-11
2026-01-27

前言

1.什么是OSS对象存储

OSS对象存储就像是一个超级大的云端“文件夹”,你可以在这个“文件夹”里存放任何类型的文件,比如图片、文档、视频等。与传统的硬盘存储不同,OSS对象存储更加安全、可靠,并且存储空间几乎无限(根据你选择的供应商的服务套餐)。你可以随时随地通过网络访问这些文件,而且它们不会因为硬件损坏或丢失而丢失。

2.什么是CDN

CDN(内容分发网络)就像一个全球范围内的“快递网络”。想象一下,你的博客内容(如图片、视频等)就是包裹,CDN就是将这些包裹快速、准确地送到全球各地的用户的“快递员”。CDN在全球各地都有“快递点”(也叫做节点或服务器),当用户请求访问你的博客时,CDN会迅速从离用户最近的“快递点”发送内容,这样用户就可以更快地看到你的博客内容了。

3.我为什么需要CDN和OSS对象存储

1.提高访问速度

CDN可以快速地将你的博客内容传送给全球各地的用户,而OSS对象存储可以确保你的内容始终可用,无论有多少用户同时访问。这都将大大提高你的博客的访问速度,提升用户体验。

2.减轻服务器压力

当你的博客内容存储在OSS对象存储中,并通过CDN进行分发时,你的博客服务器就不再需要处理所有的内容请求了。这将大大减轻服务器的压力,使其更加稳定、可靠。

3.优化全球访问

CDN的“快递点”遍布全球,这意味着无论你的用户在哪里,他们都可以快速、稳定地访问你的博客。这将有助于你吸引和保留全球范围内的用户。

4.降低成本

通过使用OSS对象存储和CDN,你可以减少对昂贵、复杂的硬件和基础设施的依赖,从而降低你的博客运营成本。

原本halo1.x是原生支持又拍云、七牛云等CDN加速服务商储存图片的,但是在更新为halo2.x之后需要安装插件才能支持,所以在这里记录一下如何使用又拍云实现图片储存

一、准备工作

1.Halo

在halo这边需要安装一个插件对象存储,点击进链接安装,或者在halo的后台找到应用市场,搜索即可。

https://www.halo.run/store/apps/app-Qxhpp

1723197656691.png

2.又拍云

https://www.upyun.com/

1.创建云存储服务

既然需要用到又拍云的储存图片功能,肯定是先去又拍云先创建服务了,如图所示,先在又拍云官网注册,填写个人信息。

1723197657014.png

登录后进入控制台,再点云产品,再点击云存储创建一个云存储服务,填写服务名称,操作员授权给自己。

1723197658608.png

1723197658306.png

1723197658359.png

2.绑定域名以及获取SSL证书

完成后点击进入你刚刚创建的服务

1723197658950.png

这里的话最好是绑定一个自己的域名(阿里云、腾讯等申请的域名,必须为已备案的域名),然后在又拍云获取一个免费SSL的证书实现HTTPS访问,尽量不要使用默认CDN域名,否则在halo和edge这边会提示一些安全问题(图片加载被拦截等)。

进入功能配置然后绑定自己申请的域名。

1723197659654.png

域名可使用主域名或二级域名(由于我的主域名poor.run用作博客主页了,所以我使用了二级域名img.poor.run

1723197660024.png

之后按照系统提示,进入你自己的域名控制台(阿里云或腾讯等),进行TXT验证解析,填写系统提供的TXT解析参数。

1723197664669.png

验证通过后再进行CNAME解析

1723197664115.png

1723197664215.png

主机记录填写之前的二级域名,系统会解析到目标CDN地址。

1723197665245.png

然后回到又拍云,申购一个一年免费的SSL DV证书。

1723197660421.png

1723197660792.png

申请通过之后,返回SSL证书页面,在操作处补充域名信息(如图我已经绑定过,所以没有显示补充信息选项)

1723197661781.png

补充信息完成之后,等待系统审核。

等审核通过后,返回SSL证书服务,点击证书管理,进行HTTPS配置,如图所示。

1723197662157.png

打开HTTPS访问和强制HTTPS

1723197662216.png

3.获取Access Key

返回云储存控制台,然后点击存储管理往下滑,看一下刚才新建的操作员权限是不是三个都有,然后点击S3访问凭证,这里的两个AccessKeySecretAccessKey都需要保存,一会填写配置文件需要用到。

1723197663287.png

4.加入又拍云联盟

加入又拍云联盟,可以免费获得10GB的存储空间容量15GB的CDN流量(HTTP/HTTPS),流程如下。

登录又拍云联盟官网

https://www.upyun.com/league

1723197675252.png

下载又拍云提供的LOGO素材,点击复制链接,将LOGO放在博客的底部信息栏里,并将LOGO超链接到复制的链接。

1723197672274.png

放置好后,点击立即申请,填写资料,网站地址是你的博客地址,等待系统自动审核,成功后就会到账10GB的存储空间容量15GB的CDN流量(HTTP/HTTPS)。

1723197672222.png

二、正题

1.Halo S3配置

接下来就是如何进行配置文件的填写了,首先先去halo后台创建一个存储策略,如图所示按顺序操作,附件->存储策略->S3 对象存储

1723197665593.png

然后会自动弹出配置让你填写,如图所示,名称随便写,Bucket名称就是准备工作中又拍云创建的云存储服务的名称,Endpoint访问风格要填写Path Style,而Endpoint则是固定的s3.api.upyun.com,其余两个就是刚才获取的AccessKey

1723197666052.png

下滑的一些参数就比较简单了,而且并不是很固定。如果绑定的域名没有SSL证书开启HTTPS的话,你的绑定域名协议只能选择HTTP,虽然实际可以访问,但是在halo里面无法显示(被拦截),所以准备工作才需要开启HTTPS。

1723197666754.png

2.上传图片测试

提交之后基本就完成了,然后可以进行上传图片进行测试。

1723197666971.png

如果图片可以正常加载,且URL地址正常,就证明上传成功了。

1723197667788.png

三、结语

实际上配置起来并不难,但是很多小细节如果不注意就会失败,并且如果上传失败并没有详细报错,只能一点点排除,所以这篇的图片比较多,为了能够详细记录尽量不错过小细节。

在Halo2.x中使用又拍云实现CDN和OSS云存储
作者
nullsang
发表于
2024-05-11

评论