图床选择与搭建
写在开头
开坑写博客之后发现急需要一个图床. 写markdown的人都知道用本地路径当做图片地址是不太可行的. 图床就成为了承载图片流量的不可或缺内容. 一般来说, 衡量一个图床是否能满足要求可以参考以下维度:
- 使用便捷程度
- 费用与可持久性
- 国内外访问速度
同时, 常见的图床搭建或选择可以有以下几种方式:
- 直接使用现有的第三方图床供应商/网站
- 使用云服务供应商的对象存储/NAS/轻量化存储服务搭建图床
- 自己在有公网地址的服务器/本地机器上搭建图床
很显然, 随便使用搜索引擎推荐的图床供应商价格并不会很贵, 访问速度也还可以, 但其是否能长久运营是个未知数(大学本科时期使用的免费图床网站已经倒了). 使用AWS/阿里云/腾讯云搭建的话确实可以让图片保存很久, 并且访问速度非常快. 但价格可能是个问题. 最后, 自己搭建的唯一好处可能就是便宜了.
当然, 最后还是决定先在网上调研一下再选择最合适的图床.
第三方图床供应商/网站
首先我不考虑国内的免费图床网站(百度谷歌一搜一大堆, 但用不了多久可能就跑路). 我选择去浏览一些国外运营了很久的图床网站. 参考这篇红迪贴子. 里面列举了这么几个图床网站
| 名称(url) | 免费账户限制 | 付费年费 | 备注 |
|---|---|---|---|
| Postimgaes | Advertising / 1280px / Up to 32M | 84$ | 好评较多, URL直链 |
| imgbb | Advertising / Up to 32M | 95.88$ | 有评论说免费用户会被删账号 |
| catbox | Up to 200M | 无付费, 纯赞助式 | 二次元浓度还挺高的, 很出名的hosting网站,但据说经常掉线登不上 |
| bucketlynx | 无免费用户 | 165$ | 更像是一个网络相册, 支持zip打包上传下载, 付费用户也有存储限制 |
对于个人博客,本身并没有大量host图片的需求, 使用上述所有网站的免费版本均可以达到目的. 而免费账户性能最好的肯定还是catbox(之前用过两三个月,只遇到过一次掉线,大概网站掉线了半天左右), 因此如果选择使用第三方图床网站, catbox可以说是一个很好的选择.
使用第三方图床网站一定要在本地做好归档, 以防其跑路(你也不想看到你博客一大堆图片不可显示然后你甚至都不知道是哪张图片吧).
云服务供应商
国外常用的云服务供应商就是AWS了, AWS提供S3存储, 可以在官方提供的价格计算器内填写需要的存储大小、每月的预估POST/GET请求数量、流量额度, 对于个人用户, 考虑到浏览器缓存存在的条件下,
10G存储、50000条POST/GET、50G上下行流量(50G的流量+50000条GET/POST对应的平均单张图片大小为1M, 远超常用图片大小)的每月价格为0.69$,每年的价格可以压在10$以内.

但是使用ASW的问题在于地区只能选择国外, 上图是基于Singapore的价格. 在国内访问速度可能会较慢. 类似AWS的供应商还有cloudflare、Azure Cloud等,其中Cloudflare可以提供免费10G存储的S3存储,可以当图床使用。高于10G的需要付费。如果存储需求量不大可以选择考虑Cloudflare。
如果选择国内的供应商, 可以考虑阿里云和腾讯云. 具体使用方式可以参考这篇阿里云博客.以阿里云的oss计费价格为例: 40G存储 + 每月40G下行外网流量(全部按忙时0.5元/GB计算)的价格为9元+20元 * 12=249元. 价格比AWS S3更贵. 但实际上这里的流量是按照每个月40G全部拉满来算的. 如果博客浏览量低, 根本没有这么多流量需求. 实际价格可能会低很多. 并且阿里云在国内访问速度极快. 更不用担心跑路问题.
总的来看使用云服务器提供商要比选择付费图床供应商更靠谱. 缺点是必须即时续费(否则图片一样丢失). 每年的成本在数十元到百元之间.
使用Easyimage搭建图床
最后, 如果自己有一台带有公网IP的机器, 当然可以考虑自己搭建图床了. 直接使用开源的EasyImage+docker部署, 两分钟之内便可以搞定.
参考这篇博客. 使用如下的docker-compose.yml文件:
1 | |
随后登陆网站完成配置即可直接使用. 我这里直接将容器部署在家里的arch机器上, 然后用frp把端口转发出去用阿里云的公网ip. 这样也变相获得了一个公网地址. 阿里云轻量服务器的年费价格是68元(双十一打折). 每月不限流量, 带宽100M. 可以挂很多frp服务还能当个vpn(pptpd)服务器. 图片还是保存在自己机器上的. 不怕忘了续费造成的丢失问题. 坏处就是刚需公网IP, 如果不用vps做穿透, 可以考虑用ipv6 + ddns或者去找运营商要一个公网ipv4.
最后的选择
当然最后我还是用了自己搭的简单图床. 目前博客内所有的图片都存在上面, 价格便宜并且可控. 对于不想折腾的轻量个人用户, 我推荐是创建一个catbox账号当做图床.