云存储-使用cloudflare R2
强烈推荐使用cloudflare R2
关于cloudflare R2
对于目前支持的存储,强烈建议使用cloudflare的R2存储
,该云存储非常牛x
- 10G的免费存储/月
- 图片,视频等文件的访问,只计算访问次数(访问一次+1),不计算访问流量,譬如访问1mb的图片和访问500mb的视频,都是一样的
- 100万的写入操作次数/月,免费
- 1000万的访问次数/月,免费
- 这已经很牛逼了,继续,还有。。
- 可以在site站点里面设置缓存(通过page rules),最高可以设置一个月的缓存,访问缓存,R2存储不计数。这基本上是完全免流量费了
创建cloudflare站点
用fecify一般都是建很多的站点,我们强烈建议您的R2域名用一个单独的域名,而不是和您的授权域名或者店铺域名混用,原因是:
- 站点更改内容会经常刷新cf缓存,如果公用一个域名,那么站点cf刷新,那么图片缓存也被刷新了。(图片刷新后,那么在访问,cf缓存有一个重新加载图片的过程,那么速度会慢一些)
- 图片只有新增删除,是没有更新的,因此图片不存在刷新cf缓存的问题。
- R2的图片,我们可以做cf缓存,Page Rules的缓存规则最大可以一个月,因此,我们可以将图片缓存设置为一个月,这样一个图片在一个月内无论访问多少次,走的都是cf缓存,而不是直接读取
- 这样可以极大的减少R2图片的访问次数(第一次是读取R2,后面的请求就是走cf缓存了,R2因此就不计数了,这样每个月免费额度:1000万的访问次数/月,基本够用了,可以极大的降低费用,尽量不花钱)
- 如果您站点少,访问少,那么图片域名和店铺独立站域名使用一个也没有问题。
fecify的服务端后台可以配置R2 (菜单:系统管理
--> 系统设置
--> 存储设置
),您可以在这里进行cf R2的配置,然后强制服务端复用商家端的配置,
这样每个店铺就不需要单独进行R2的配置。(如果您不嫌麻烦,商家端后台单独配置存储也是没有问题的)
创建cloudflare R2,我们需要使用自己的域名,而不是cf的域名,这样我们需要先使用图片域名,手动创建一个cf的site站点。
- 注意:目前只有R2的site站点是手动创建,对于授权域名,商家端店铺域名,都是在fecify后台通过api自动创建。
1.您需要先添加site站点,如下图:
2.我的图片域名是r2.fecify.shop
,因此我需要吧fecify.shop
添加到cf站点
3.填写域名后,点击继续按钮,选择plan
4.点击继续后,进入dns记录页面
5.点击继续按钮,弹出对话框
6.点击确认按钮,进入到更改域名DNS服务器名称
如上图,得到域名的服务器名称,您需要前往您域名的管理后台,将域名的服务器名称更改为cf的服务器名称。
对于阿里云,进入域名管理列表,点击右侧的管理按钮,即可更改DNS服务器名称
各家的域名服务器名称更改界面不同,如何修改可以网上找一下相关的资料。
域名的DNS服务器名称更改后,需要一段时间才能生效,少则半小时,多则几个小时,最多不超过24小时
等待一段时间后,可以从cf主页面重新进入,当显示
- 有效,则代表域名服务器更改成功
- 待处理的名称服务器更新,则代表还需要等待一下
等显示有效,则代表站点添加完成了
使用cloudflare R2
1.访问:https://dash.cloudflare.com/, 登录您的账户,进入cf管理后台,然后菜单点击R2
- 使用R2需要您填写您的visa信用卡,才能使用,如果您的cf账号没有绑定信用卡,那么界面将不是下面的界面,而是在右侧出现一个信用卡绑定界面,您需要先手动绑卡
- 绑卡后,会出现下面的界面
点击按钮将R2订阅添加到我的账户
2.点击创建存储桶
3.在这里创建您的存储桶,如下图
我这里填写的存储桶名称是:fecify
4.新建存储桶完成后,就会进入这个存储桶
点击设置
,然后点击连接域
按钮
5.填写您的自定义域名
后面访问图片,就用这个自定义域名。譬如:r2.fecify.shop
这个域名,就是前面我们一开始创建的cf site站点填写的域名。 (这个域名必须先在cf的管理后台add site,也就是使用这个域名在cf后台创建一个site) 否则填写后会报错,如下图
- 譬如:前面添加了cf site站点的域名是
fecify.shop
,这里我填写r2.fecify.shop
- 如果填写一个没有添加到cf site的域名,那么会报错,如下图:
填写site站点的域名,譬如我设置的域名是:r2.fecify.shop
(后面的配置截图,都以这个自定义域名进行截图说明)
设置完成后,点击按钮连接域
提交后,等几分钟生效,如下图已生效(需要等待一下)
7.完成后,您进入域名对应的site站点,进入dns部分,会发现这里多了一条DNS,这就是R2的自定义域名
8.我们重新进入R2,创建R2 API 令牌
点击创建API令牌
进入创建令牌表单
9.填写完成后,点击创建API令牌
提交即可
9.1得到:AccessKey和SecretKey,分别对应Fecify后台配置的AccessKey
和SecretKey
9.2对于:https://77fd9076a9b2f12953640f54c3dea825.r2.cloudflarestorage.com
Bucket Name
: 上面url中的77fd9076a9b2f12953640f54c3dea825
对应于Fecify后台配置的Bucket Name
Endpoint
:去掉上面这块字符串,就得到:https://r2.cloudflarestorage.com,然后加上cloudflare存储桶的名称`fecify`(如下图:),然后通过组合,就得到了https://r2.cloudflarestorage.com/fecify
, 对应于Fecify后台配置的Endpoint
上面的值,请勿直接复制粘贴,您先读懂原理,然后得到您自己的配置信息
9.3fecify管理后台配置如下图:
您根据上面9.1和9.2获取的值,在fecify管理后台填写即可
9.4上面得到配置值有点繁琐,您可以对照我配置的值,核对好后,填写到fecify的管理后台
对于:
使用自定义域名
: 勾选是
自定义域名
: 输入框写入您的自定义域名,
譬如我设置的自定义域名是r2.fecify.shop
, 那么我填写:https://r2.fecify.shop
,您按照这个格式配置即可
通过上面,我们就把自定义域名,以及fecify管理后台的配置弄好了,下面,我们还需要加一下CF缓存,缓存后,访问cf r2的图片文件,将不再进行收费计数, 这样您使用R2就不需要购买操作次数了,免费额度基本就够用了
10.配置图片域名对应的站点site缓存
10.1进入site站点(进入图片域名对应的站点,也就是一开始的步骤,我们创建的cf站点)
10.2创建页面规则(page rules)
注意:免费cf版本,最多3条page rules。但也够用。
10.3填写page rules表单,创建page rules
保存后,到这里,我们就全部完成了。然后去fecify后台,商品编辑部分,上传图片测试是否可用
cloudflare R2提速+更稳的线路
1.对于cloudflare R2,有一个免费额度,超出后才进行计费,费用还是比较便宜,而且免费额度很大,如果图片不是很多,10G基本够用
2.使用page rules设置缓存后,那么走的都是cf缓存获取文件,理论上来说,一张图片在一个月内无论访问多少次,R2的操作计数都是1(因为有cf缓存,缓存时间设置了1个月)
3.pro版本毕竟比较贵,如果您的站点少,那么R2的自定义域名对应site站点和fecify独立站的对应的site站点,使用同一个即可(也就是R2自定义域名和fecify独立站域名,使用 同一个域名),这样购买一个pro就够了。
4.如果您有对cloudflare R2更好的操作,欢迎讨论分享。R2这近乎免费的存储实在是太牛x。