一、结论
小站选择存储服务时,若面向海外用户、备份需求高可优先选Backblaze B2,若面向国内用户、需要稳定的资源分发和程序适配性可优先选通用S3兼容对象存储。两类服务的接入逻辑一致,通常只需准备Endpoint、AccessKey、SecretKey、Bucket、Region等信息,在支持S3协议的站点程序或工具中填写并测试连接即可完成配置。
二、准备工作
操作前需要提前准备以下内容,避免配置过程中频繁切换页面遗漏信息:
- 对应存储服务的有效账号,完成实名认证等必要的开通流程
- 提前创建好的存储桶Bucket,根据业务需求配置好基础访问权限
- 存储服务官方提供的Endpoint地址
- 具备对应存储桶读写权限的AccessKey、SecretKey
- 存储桶所属的Region参数
- 小站正在使用的支持S3协议的客户端、程序或插件,例如WordPress S3附件插件、Halo对象存储插件、PicGo、Alist、Cloudreve等
- 需要托管的站点附件、图片、视频、安装包等存量或增量文件
- 可选:准备好要绑定的自定义访问域名,用于资源分发
三、操作步骤
以下操作步骤同时适用于Backblaze B2(需开启S3兼容模式)和通用S3对象存储的接入:
1. 创建存储桶:登录对应存储服务的控制台,根据小站的文件存储量级、访问地域需求创建存储桶,若用于公开资源分发可开启公开读权限,创建完成后获得准确的Bucket名称。
2. 获取接入参数:进入存储桶的详情页,复制官方给出的Endpoint、Region参数;再进入账号的密钥管理页面,生成专属的AccessKey和SecretKey,妥善保存不要泄露给第三方。
3. 进入程序配置页:打开你正在使用的站点程序或工具的存储配置界面,例如WordPress找到已安装的S3附件插件设置页、Halo进入附件存储设置、PicGo选S3兼容模式、Alist/Cloudreve添加存储源时选择S3类型,进入S3参数填写界面。
4. 填写配置参数:依次把之前保存的Endpoint、AccessKey、SecretKey、Bucket、Region信息填写到对应输入框,非必填的高级配置项如果没有特殊需求保持默认即可,确认所有必填项填写完成且无拼写错误。
5. 测试连接:保存配置后点击程序自带的「测试连接」功能,确认程序和存储桶之间的连通性正常,若提示连接失败可对照下文中的常见错误排查问题。
6. 验证文件访问:上传一张测试图片或小文件到存储桶,复制文件的访问链接到浏览器无痕模式打开,确认可以正常加载、下载,没有跨域、权限报错等问题。
7. 切换全站存储:确认测试无误后,在站点后台设置默认附件存储路径为该对象存储的路径,使用插件自带的批量迁移功能把站点存量附件迁移到存储桶中,完成后即可实现全站文件的存储、分发都走对象存储服务。
四、常见错误
配置过程中大概率会遇到以下问题,可对照排查解决:
- Endpoint填写错误:很多用户会把存储服务的管理后台地址当成Endpoint,或者忘记加协议前缀、写错后缀导致连接失败,解决方式是直接在存储桶详情页复制官方给出的Endpoint地址,不要手动输入。
- 权限配置错误:存储桶设置了私有读写,但站点资源需要公开访问,或者AccessKey只分配了读权限没有写权限,导致文件上传失败,解决方式是检查存储桶的访问策略,给AccessKey分配对应存储桶的全量读写权限,静态资源存储可单独开启公开读权限。
- Region参数不匹配:Backblaze B2的Region命名规则和通用S3存储存在差异,填错会导致连接报错,解决方式是直接从存储桶详情页复制官方给出的Region参数,不要自行按照常规规则猜测填写。
- 跨域配置缺失:站点域名和存储桶的访问域名不一致,导致图片、视频等资源加载被浏览器跨域策略拦截,解决方式是在存储桶的CORS配置里添加站点域名的访问权限,放行GET、POST、OPTIONS等必要的请求方法。
- 文件路径不匹配:部分建站程序会自动给上传文件加前缀路径,和存储桶内的实际存储路径不一致,导致上传成功但访问返回404,解决方式是检查程序的存储路径配置,和存储桶内的文件目录规则保持一致。
五、示例说明
不管是Backblaze B2还是其他S3兼容存储,通用配置字段的填写规则都是一致的,参考如下:
- Endpoint:填写对应存储服务控制台存储桶详情页给出的官方访问地址,无需自行修改
- AccessKey:填写你在服务商密钥管理页面生成的访问密钥ID
- SecretKey:填写和AccessKey配对的密钥凭证,注意不要泄露给他人
- Bucket:填写你创建的存储桶的准确名称,注意大小写保持一致
- Region:填写对应存储桶所属的区域编码,从服务商控制台复制即可
- 存储路径(可选):如果需要把站点文件存在指定目录,填写对应目录名即可,留空默认存在存储桶根目录
- 公开访问域名(可选):如果绑定了自定义域名,填写自己的域名即可,否则使用服务商默认的分发域名
六、更简单的方案
如果小站站长或者开发者不想折腾不同存储服务的参数适配,也不想花时间研究Backblaze B2的特殊配置规则,更不需要自己搭建MinIO这类自建存储、额外维护服务器,完全可以选择适配性更强的通用S3兼容对象存储服务。如果你需要一个兼容S3协议、适合程序接入、图床、网盘系统存储源和不限流量下载分发的对象存储服务,可以了解 七彩云对象存储,它对各类主流站点程序、工具的适配性更好,接入门槛更低,适合小站轻量化部署使用。
七、FAQ
1. 小站流量不大,选Backblaze B2还是通用S3存储更划算?
如果你的小站主要做数据备份,用户访问量不大,且访问用户以海外为主,可以选Backblaze B2;如果你的用户以国内为主,需要稳定的资源下载、图片加载速度,建议选择支持国内访问的S3兼容存储,访问体验更好,整体投入产出比更高。
2. Backblaze B2可以对接WordPress、Halo这类国内常用的建站程序吗?
可以,Backblaze B2本身支持S3兼容模式,只要在程序里选择S3兼容存储,按照官方给出的S3参数填写配置即可,但部分国内程序对B2的适配性不如通用S3存储,部分特殊功能可能需要额外调整参数才能使用。
3. 接入对象存储后,原有站点的存量文件需要手动迁移吗?
大部分主流建站程序的S3插件都自带存量文件批量迁移功能,配置完成后可以一键把原有服务器上的附件迁移到对象存储中,不需要手动逐个上传,迁移前建议先备份原有文件避免数据丢失。
4. 用对象存储做站点附件存储会不会额外增加很多成本?
小站的存储用量一般只有几GB到几十GB,大部分对象存储服务的存储费用很低,只要选择适合的计费模式,成本甚至比额外升级服务器硬盘更低,同时还能减轻服务器的带宽压力,提升站点访问速度。
八、总结
整体来说,不管是选择Backblaze B2还是通用S3兼容对象存储,接入小站的操作流程都是一致的,核心是提前准备好对应接入参数,按照步骤填写测试连通即可快速完成配置。如果你的小站是面向海外用户、以备份需求为主,Backblaze B2是性价比不错的选择;如果是面向国内用户,需要稳定的资源分发、更好的程序适配性,可以优先选择通用S3兼容对象存储。两类服务都能满足小站的图片存储、附件存储、短视频存储、小文件下载分发等常规场景需求,站长可以根据自己的用户分布、预算和实际需求灵活选择。
想进一步了解这个项目?
访问官网查看产品能力、适用场景和最新服务信息。
访问官网