自建图床折腾记(附优化设置介绍)
因为最近行业不景气,准备进军自媒体,我的内容主要是数码评测和教程类,用Obsidian写文字,原创附图很多,都保存在本地,在每个自媒体重新上传一次附图太痛苦了。于是想到了图床。
1、尝试免费图床——无效的折腾
看了免费的:Hello图床、聚合图床、老王图床、微博图床、imgur、sm.ms等等,不是不能用,就是国内访问不了。
还尝试了用Cloudflare R2的对象云存储搭建图床,通过Webp.li压缩图片和代理。成功是成功了,就是速度太慢,经常上传失败。使用很不方便,好不容易上传成功了,贴到自媒体编辑器时还经常失败。

这样一来,每次发表前我都还要检查一遍,把上传失败的重新上传,效率甚至不如我存在本地,一张一张贴。也就失去了意义。
又尝试了一圈方法,加速Cloudflare R2,没有效果。
用GitHub来建图床也是和Cloudflare R2一样的问题,访问不稳定,都是治标不治本,而且涉嫌仓库滥用,不是个长久的办法。
为了能在国内稳定使用,不得不向国内对象服务器低头。
2、尝试七牛云——需要域名备案
国内赠送资源比较多的,一下就想到七牛云了,每月10G免费空间很香,但是当我兴致勃勃地开通存储桶时,它提示我,只提供30天测试域名,30天后就需要添加自定义域名才能继续使用。但是添加域名需要备案,否则只能创建海外存储桶。

海外存储,国内访问?那和我直接用Cloudflare R2有什么区别?
果断放弃。
什么?你问我为什么不备案?我又没网站,就想建个图床,费那个劲去备案,然后每年再审查一次,太折腾了。没办法,换吧。
3、尝试阿里云OSS
因为我的域名是在阿里云,所以惯性的直接去了阿里云OSS对象存储服务。用腾讯云效果也是一样的。
因为我不建博客和网站,只是写文章和发表作品用,应该用不了多少资源。就先选个40G标准存储,9块钱/年,试试。


开通服务和购买、配置的具体流程网上教程很多,这里我就不细说了,只提几点需要注意的地方:
(1)选择标准-本地冗余存储
低频和归档每次访问要付很多费用,不适合自媒体。
(2)先买最便宜的试试手
万一不合适或者不想用了损失也不大。
(3)在个人账户充点钱
这9块钱只是资源包,产生的流量还是要付费的。不过费用不高,据说充10块钱能用很久,可以试试。
(4)对象云存储服务是后付费
一定要做好防盗链等措施,要避免被盗刷,经常关注账单情况,当心倾家荡产。
4、设置图片样式——压缩图片和原图保护
对于照片很多的自媒体从业者来说,写文章和往自媒体平台贴图的时候,如果直接贴原图,每插入一张图片都会消耗很多资源,造成资源的浪费。我们可以将上传的图片自动转为规格更小的Webp格式。
并且,发布原图容易被盗用。
所以,我们可以通过阿里云对象存储的图片处理功能对图片进行自定义样式设置。
在“OSS管理控制台”-“数据处理”-“图片处理”中,点击“创建样式”。

在弹出的“创建样式”对话框,填入==规则名称(最好是简短容易记住的名称,后面要用到)==,在格式转换这里选择webp,图片质量自己定。

点击“确定”,就设置好了。
接着我们设置原图保护,使读取图片时只能读取webp格式的图片。
我们回到样式管理,点击访问设置。

打开原图保护开关,然后在原图保护后缀里,选择所有格式。
选一个自己喜欢的自定义分隔符,这里我选“!”。

设置好以后,我们设置的原图就没办法直接访问到了。
那么,怎么发布图片呢?
发现了吗,右上角有个关于如何实现图片原图保护的说明,点开看一下。

我们看到通过自定义分隔符加后缀可以访问受保护后的webp图片。
比如,我用“!”作为自定义分隔符,我的自定义样式名称是2.wenp,那么,我就可以在原图链接的后面加上“”(不含引号)就可以访问保护后的webp图片了。
举个例子:
原图链接是:https://aaa.oss.aliyuncs.com/xxx.png
那么,你现在需要把这个链接改为:https://aaa.oss.aliyuncs.com/xxx.png
这样设置好后,即节省了流量,又优化了速度,更保护了原图,一举三得。
你还可以通过图片处理做更多的事情,比如修改图片尺寸、加水印等。
不过图片处理这项服务是要收费的,说明文档中是按照原图实际大小×图片处理单价。

同时在官网搜到有10TB/月免费额度,超过10TB收取0.025元/GB的费用。我先试用一段时间看看费用情况。

哦,对了,设置好原图保护后,当然不能忘了在Picgo等图床管理软件中修改相关参数,不然自己也用不了了。

5、设置访问白名单
还是为了防止被盗刷,多做点防护总是好的。我们可以通过防盗链功能设置白名单,仅允许我们认可的域名读取数据。
由于我是要在各大自媒体平台发帖,所以我设置的是各大自媒体平台的网址。如果你还有自己的网站,也要把自己网站的网址写进去。

6、设置上传目录
由于我们用的是OSS服务器,对象(Object)是OSS存储数据的基本单元,也被称为OSS的文件。和传统的文件系统不同,Object没有文件目录层级结构的关系。所以上传的文件会平铺在根目录下,很难管理。
所以,我建议按时间规则设置上传目录。之前Cloudflare R2可以通过/{year}/{month}/来自动生成目录,阿里云这里没成功。我目前只能在Picgo中手动设置目录,比如2024-10,但是每月要改一次,有知道怎么设置的大佬麻烦告知一下。

