
为什么要自建图床
公共图床虽然大多都很方便,但是也有很多不可控的因素,图床的稳定性和图片的可访问性很难保证。在一次打开博客界面时发现所有使用公共图床外链的图片都无法正常显示时,我彻底对公共图床失去信任,开始研究如何自建图床,当然最好是零成本。
既然是想要 0 成本自建图床,那就得去白票某些大厂的免费福利了(cloudflare 的恩情还不完啊!!!)。
所以,接下来,我将向您详细介绍,如何利用 cloudflare R2 配合 picgo 来自建属于自己的图床。
前置条件
想要顺利的使用完成接下来的步奏,最好要满足以下基本前置条件。
- 一个可以正常访问 cloudflare dashboard 的网络环境。
- 一张支持外币支付的信用卡或者借记卡。
为什么是 cloudflare R2?

在解释为什么之前,先让我来讲讲啥是 cloudflare R2。
cloudflare R2 是 cloudflare 推出的一项 对象存储1 服务,对象存储的特性非常使用用于作为图床,并且, cloudflare R2 给免费账户 10G 的存储空间和每天 100万次的访问流量,可以说非常良心了。不过虽然说免费,但是在开通的 cloudflare R2 服务之前还是得绑定信用卡或者借记卡,但是这是用于验证,只要不开通的付费服务是不会无缘无故扣费的。如果您实在不放心3,那吗可以绑定借记卡,只要那张卡不存钱,就想扣费都扣不了(手动狗头)。
当然,有懂的读者这时心里可能会想,Oracole cloud 也有免费的对象存储服务器,而且还给 20 G 的存储空间,薅羊毛为什么不找大只的薅呢?主包一定是收了 Cloudflare 黑钱了(
咳咳,稍安勿找,的确 Oracole Cloud 给的福利更多,甚至免费账号还能薅到免费的服务器。但是,他的注册难度比 cloudflare 高处一个量级。Oracle d的风控管理还是比较严的。想要最不折腾的情况下搞定突图床,最好的选择还得是 cloudflare。
好了,说了这么多,接下来,那我们接下来让我们直接进入正题吧。
开始创建
登陆/注册 Cloudflare 账号。
直入正题,在使用 R2 之前,当然需要注册或者登录cloudflare 账号啦,我们先打开[cloudflare dashboard](https://dash.cl oudflare.com/login) 网址,开始注册账号。

如果您有 cloudflare 账号,直接登陆即可,个人建议可以直接用 google 账号注册或者登陆,这样更加方便。当然如果你没有 google 账号,那么我们点击 下面的 Sign up。开始注册账号。

输入邮箱和密码后,cloudflare 会给您的邮箱发送一个验证邮件,按照提示操作就可以完成注册了,注册成功后,就可以进入 dashboard 界面了。
2. 开通 Cloudflare R2 服务。
注册成功后我们会进入 dashboard 界面,我们可以直 搜索框中输入 R2,来找到 对应的界面。

进入的 Cloudflare R2 界面后,我们点击 add R2 subscription to my account

此时需要进行绑定银行卡,如实填写即可,不过如果你之前讲银行卡绑定过 paypal 或则 Google Pay,那么建议使用上面的方式绑定,这样更加方便。

绑定并且验证通过后,我们就可以继续下面的操作了。
3. 创建 bucket
如果前面顺利通过了验证,那么你应该会看到这个界面,这里我们创建先点击那个蓝色的 create bucket 创建一个新的 buckt 桶,这个桶,就是我用来存放数据的地方。

进入创建界面,我们下面这个两个选项都保持默认,不过第一个选项的区域可以选择一下,这主要取决与你希望在那个国家访问他,中国大陆一半建议选择亚太地区(APAC),访问速度会相对快一些。

创建好 bucket 后会进入下面的界面,不过现在这个 bucket 还是不能对外访问的,我们需要先设置一下。

4. 获取公共 URL 以及 S3 api。
我们点击 bucket 上方菜单中的 settings 进入设置界面,在下面找到 Public development URL 。按照提示在输入框中输入 allow 后,复制并保存好你的这个 URL,后面的配置 PicGo 需要这个链接。

不过,光有这个公开链接是不够的,我们还需要用于访问这个存储的 S3 api。我们先回到首页。

然后,在首页右下方有找到 api token 管理。点击按钮进入设置界面。

进入设置界面后,我们点击 create account api token 按钮,创建 api。

这里输入 token name 可以自己的要求输入,不过最好更我设置程一样的 admin read and write 。设置完成湖我们点击创建。

复制并保存这个界面,为了安全起见,这个界面只会出现一次,所以一定腰保存好。

自此,我们 cloudflare 侧的设置就结束了,现在我们来设置 PicGo。
5. 设置 PicGO 。
PicGO 是一个开源的图床工具,支持几乎所有第三方图床,自己也有 PicGo cloud。我们这里主要使用它来链接我的 Cloudflare 图床。腰下载 PicGo,请到 官网 下载。windows 用户建议下载桌面版本,linnux 用户可以下载 cli 版本。
下载完成后我们打开软件,进入图床列表来配置我们的图床。

这里默认只列出软件支持的第三方图床,S3 以及其他图床 api 需要通过插件的方式安装。下面的 安装更多图床。

注意:PicGO 的插件基于 NPM ,如果系统没有安装 NPM 管理器直接安装插件软件会提示并报错,因此建议安装插件前先去 node.js 下载页 下载最新版本的 node.js,node.js 包含 NPM 包管理器。下载安装后重启 PicGo。
在插件界面搜索 S3 ,下载并安装I插件。

现在,我们可以在图床列表中看到 S3 图床了,我们点击进行设置。

按照下面的提示依次填入:
- 应用密钥 ID: api 界面 Access Key ID
- 应用密钥: api 界面的 Secret Access Key
- 桶名: 你在 R2 创建的 bucket 名。
- 上传文件路径: 可以保持默认,但如果你想将图片放到指定的文件夹没,那么需要修改 对应参数,其格式为 /<父目录>/子目录/<[文件名].[扩展名后缀]>
- 地区: auto
- **ForcePathStye:**yes
- **设置输出图照片的 URL 前缀:**cloudflare R2 的公共 URL。
- bucket 前缀: yes
配置完成后,我们保存配置,并在上传一张图片看看是否能正常上传。

上传成功会以 windows 通知的形式显示结果。
6. Typora 软件配置
注:以下配置适用于需要在 markdowm 笔记软件中使用图床的用户,若您没有次需求,可以不用i继续阅读。
打开 typora 软件,点击文件——偏好设置,软化在设置菜单中选择图像。讲上传服务选择为 PicGo app,路径选择你安装软件的实际路径,配置完成后点击 验证图片上传选项。

一般都会显示成功,此时我们去 Cloudflare R2 界面,应该可以看到两张用于测试的图像。

至此,所欲内容就已经设置完毕了!!
对象存储(Object Storage)是一种专门用于存储海量非结构化数据(如照片、视频、音频、日志、备份等)的数据存储架构。它摒弃了传统的树状文件夹目录结构,将数据作为独立的“对象”放在扁平化的“存储桶(Bucket)”中 ↩︎

![[番外]编译安装:apache 篇](/1788926622980-________________________-_____________hu_ebd767d9408462b1.webp)
