设置备份和镜像上传到 Backblaze B2

所以我正在按照 Digital Ocean Spaces 指南 操作,并开始寻找更便宜的供应商,以服务于我的(非常)小型社区。我注意到了 这篇旧帖子,这让我感到困惑,因为我刚刚查看过 Backblaze B2,发现它支持 S3 兼容。结果他们在我查看前的 30 分钟才推出该功能(运气真好!)。因此,我决定写一份简短指南,说明如何在我的当前社区中实现这一功能:

步骤 1:配置 Backblaze B2 云存储

创建账户
访问 B2 云存储 并点击“立即注册”。

生成应用密钥
点击“应用密钥”或访问 此页面。点击“添加新应用密钥”,为其命名,然后点击“创建新密钥”。请务必记录下 keyID 和 applicationKey,因为一旦离开该页面,它们将不再显示。

创建上传和备份存储桶
返回存储桶页面,创建您所需的存储桶。请确保上传存储桶为公开,备份存储桶为私有。(TODO:测试从 Discourse 自动创建)

步骤 2:配置 Discourse

此步骤主要遵循 Digital Ocean Spaces 指南,但有以下显著差异:

  • 在 s3 keyID 字段中使用您的应用密钥 keyID。
  • 在 s3 密钥访问字段中使用应用密钥 applicationKey。
  • 使用应用密钥中提供的 s3 端点。
  • 除非您提供自己的 CDN,否则请留空 CDN 字段。

有关 Backblaze B2 S3 兼容性的更多信息,请参阅 这篇博客文章

8 个赞

Backblaze 的替代方案对您来说是否运行顺畅,没有任何故障?

我刚才来这里查找信息,因为我注意到它提供 10 GB 的免费存储空间,这可以降低我的托管成本。不过,我需要先迁移现有的 S3 内容。我也很好奇是否有人成功将 Discourse 的在线实例从 S3 迁移到了 Backblaze。

1 个赞

与其继续讨论这个话题,不如将其添加到 S3 克隆列表:

5 个赞

这是一个旧帖子,但这篇指南正是我在寻找的。我同样运营着一个小型社区,一直在考虑将我们的图片和备份存储到云端,而不是像现在这样放在 DigitalOcean 的主服务器上。这样做应该能通过减少图片文件带来的服务器负载,让网站运行更流畅。

我很喜欢 Backblaze 与 Cloudflare 的合作,允许免费的数据传输。我们已经在 Cloudflare 的免费层级上使用了 DDoS 防护。由于数据传输不收费,这应该能帮我们省钱,因为我们只需支付存储费用。我打算很快尝试搭建这个方案,并额外加入 Cloudflare 的环节。

1 个赞

我已经成功让备份功能正常运行,Discourse 的备份已发送到我在 Backblaze 上的备份存储桶。

但是,Discourse 的图片上传并没有出现在我在 Backblaze 上的上传存储桶中。我已确认该存储桶已设置为公开。

有什么建议吗?

@Bill 我建议您前往 Configure an S3 compatible object storage provider for uploads 寻求支持。

既然我刚刚成功通过 Cloudflare 完成了设置,我想分享一下我的经验。Cloudflare 并非传统的 CDN。我使用它来进行 DDoS 防护、SSL 和缓存。不过,若要设置 S3 存储,似乎还需要另一个 CDN。我使用了 BunnyCDN,价格相对实惠。您需要设置一个拉取区域(pull zone),指向您在 Backblaze 中创建的上传存储桶 URL。

然后只需按照这里的说明操作:Configure an S3 compatible object storage provider for uploads - #106

请注意,这仅适用于未来上传的文件和图片,不会迁移您旧的文件。

3 个赞