个人图床:Cloudflare 服务+EdgeOne加速

个人图床:Cloudflare 服务+EdgeOne加速

最近在分享外链的时候发现图片无法加载,做SEO的时候也发现搜索工具没有办法抓取到图片。

经常写博客、做内容分享的朋友肯定都懂,一个稳定、免费、速度快的图床,真的是刚需。

今天就给大家分享一套,完全用 Cloudflare 免费资源搭建的图床方案,再配合 EdgeOne 全球加速,做到零成本、高可用、全球访问都快。全程都是可视化操作,跟着一步步来,新手也能轻松搞定。

一、前期准备

开始之前,先把这几样准备好,避免做到一半卡住:

  1. 注册好 Cloudflare 账号,并且完成实名认证(免费额度正常用,全程不用花钱)
  2. 准备一个已经托管在 Cloudflare 的域名,后面用来绑自定义访问地址
  3. cloudflare-imgbed 这个官方项目,Fork 到你自己的 GitHub/GitLab 账号,方便后面用 Pages 部署
image1

二、通过 Cloudflare Pages 部署项目

这是整个搭建的核心步骤,直接拉代码构建,不用单独买服务器。

登录 Cloudflare 控制台,在左侧菜单找到「Workers 和 Pages」,点击「创建应用程序」,选择 Pages。

image2 image3 image4

然后选择「连接到 Github」,授权绑定你的 GitHub 账号,选中你刚才 Fork 好的 cloudflare-imgbed 仓库。

配置项目设置

配置项说明
项目名称cloudflare-imgbed(自定义)项目标识符
生产分支main生产环境分支
构建命令npm install构建命令
构建输出目录/frontend-dist前端构建产物目录
image1

三、绑定 D1 数据库与 R2 存储桶

这个图床的原理很简单:用 D1 存图片的元数据,R2 存图片原文件,两个都有免费额度,个人日常用完全足够。

【展开】创建并绑定 D1 数据库
创建 D1 数据库
  1. 在 Cloudflare Dashboard 中选择 “存储和数据库”
  2. 点击 “D1 SQL 数据库”
  3. 点击 “创建数据库”
  4. 输入数据库名称:img_d1(建议使用此名称)
  5. 点击 “创建”
初始化 D1 数据库
  1. 创建完成后,点击进入数据库详情页
  2. 选择 “控制台” 选项卡
  3. 在 SQL 输入框中粘贴并执行注释区域以下的内容(见项目仓库
  4. 点击 “执行”
绑定 D1 到项目
  1. 返回您的 Pages 项目
  2. 选择 “设置” → “绑定”
  3. 点击 “添加” → “D1 数据库”
  4. 填写绑定信息:
    • 变量名称img_d1(必须是这个名称)
    • D1 数据库:选择刚创建的数据库
  5. 点击 “保存”
【展开】创建并绑定 R2 存储桶

创建 R2 储存桶

  • 在 Cloudflare Dashboard 中选择 “存储和数据库”
  • 点击 “R2 对象存储”,地域默认或选择亚太。
  • 点击 “创建存储桶”
  • 存储桶名称:img_R2(可以自定义)
  • 点击 “创建”

在项目设置中绑定 R2 存储桶:

  • 选择 “设置” → “绑定”
  • 添加 “R2 存储桶”
  • 变量名称img_r2(必须是这个名称)
  • R2 存储桶:选择已创建的存储桶

四、重新构建并验证

绑定完资源之后,一定要重新构建,配置才会生效。

回到 Pages 项目的部署页面,找到最近的部署记录,点「重新部署」。

等 1–2 分钟构建完成,Cloudflare 会自动给你生成一个免费域名,格式是 xxx.pages.dev

打开这个域名,进入图床后台。

在管理后台配置:

  • 进入 “系统设置” → “上传设置”
  • 配置 R2 渠道参数
  • 如需图像审查,填入 R2 公开访问链接

打开这个域名,进入图床后台。

上传一张测试图片,生成访问链接。

直接打开链接,如果图片能正常加载,就说明基础部署成功,D1 和 R2 配置都没问题。

五、绑定自定义域名

Cloudflare 默认的 Pages 域名,访问速度一般,建议绑上自己的域名,更好用也更好记。

再回到 Pages 项目,进入「自定义域」,点击「设置自定义域」,输入你想用来做图床的二级域名,比如 img.xxx.com

image1

系统会自动生成 CNAME 解析记录,按照信息在你的DNS解析服务商添加解析。

等几分钟 DNS 生效,用自定义域名访问一下,能正常项目的部署流程就搞定了。

六、配置 EdgeOne 全球加速

由于 Cloudflare 服务在国内访问存在不稳定、延迟波动的问题,为进一步提升图床的全球访问速度与稳定性,可搭配 EdgeOne 进行全球加速。

登录 EdgeOne 控制台,进入「域名管理」页面。

image1

在 EdgeOne 中添加加速域名:

加速域名:img.xxx.com(与 Cloudflare Pages 项目中设置的自定义域名保持一致)

源站配置:cloudflare-imgbed-dwh.pages.dev(即 Pages 项目分配的默认域名)

注:这一步的本质,就是把你在 DNS 服务商处配置的解析规则,在 EdgeOne 里重新配置一遍。

配置完成后,复制 EdgeOne 提供的 CNAME 解析地址。

回到你的 DNS 服务商后台,将 img.xxx.com 子域名的 CNAME 解析记录值,从原来的 cloudflare-imgbed-dwh.pages.dev 修改为复制的 EdgeOne CNAME 地址。

额外优化:在 EdgeOne 控制台中开启图片优化、缓存加速,并配置 HTTPS 加密,能显著提升访问体验。

简而言之:先在 Pages 项目中配置好自定义域名,再将该域名接入 EdgeOne,最终让用户的访问请求全部通过 EdgeOne 节点中转,从而实现全球加速。

七、部署完成与效果验证

到这里,整套图床就全部搭建完成了。可以再上传一张测试图片,用自定义域名 + EdgeOne 加速的链接测试一下。

在不同地区、不同网络下打开,速度对比原生 Pages 域名,会有很明显的提升。

平时可以偶尔看下 D1、R2 的免费额度使用情况,个人日常发图、写博客,基本不可能超限额。


整个流程不算复杂,一步步跟着做,就能拥有一个属于自己的专属高速图床。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Comments

No comments yet. Why don’t you start the discussion?