「云存储」即「在线存储服务」,是云服务商推出的一种服务,让用户可以把数据存放在由第三方托管的多台虚拟服务器上,而非单独的服务器1。对于咱小博主来说,云存储与自己的小服务器相比,有着得天独厚的优势:稳定、价格实惠、数据丢失率极低。(当然,这么棒的东西在国内仅限备案用户享有。)因此,我们可以利用云存储,配合云服务商提供的管理工具,搭建一个属于自己的图库。

我就在使用云存储托管图片。一是为了减轻服务器负担,减小博客数据的备份体积(需要本地保留原始图片做备份);二是配合云服务商提供的 CDN 对云存储中存放的图片进行加速。我使用过又拍云和腾讯云两家的云存储服务,这里以又拍云为例,因为又拍云不要钱2


注册账户

首先需要注册一个又拍云帐户,同时可以申请「又拍云联盟」获取免费的代金券。具体过程可以参考「接入又拍云 CDN」。

拥有一个全新的帐户之后,可以获得为期一月、价值61元的代金券,这张代金券可以作为暂时抵扣消费之用。

创建云存储服务

随后在首页找到并进入 云存储 ,新建一个服务。

除了服务名称需要自己填写外,其他选项均可以不改动,选择默认即可。但在「授权操作员」这一步,需要新建一个操作员帐户,以后在本地工具上管理图片能用得到。

勾选「可读取」、「可写入」和「可删除」三项,赋予这个操作员所有的权限。注意保存好密码。创建完成后,系统会提供一个测试用域名,可用于测试是否连接正常。

填入加速域名

点击「进入配置」,在加速域名那里填入自己已备案的域名,再到域名解析商那里进行加速域名 CNAME 的配置3

加速域名 CNAME 的配置完成后,私有图库就差不多可以用了。但为了今后有更高的安全性,还需要一些设置。

一些其他的设置

首先打开「缓存控制」里的「浏览器缓存」,在「添加配置」里设置缓存目录为/*,缓存时间默认,然后保存。

再打开「性能优化」里的「页面压缩」,「成本控制」里的「WebP 自适应」。

最后是「HTTPS」,这一环最重要。在最上方的「HTTPS配置」里开启「HTTPS」,这里需要先申请一个证书。

点击「证书管理」,进入「SSL证书服务后台」,右上角「申购证书」,选择「Let's Encrypt」证书,创建订单,确认支付。完成后补全域名,填入绑定在又拍云的备案域名,等待审核通过之后,回到「HTTPS配置」,启用证书,开启「HTTPS连接」和「强制 HTTPS 访问」。接着打开「TLS 1.3」,设置「最低 TLS 版本」为「TLSv1.2」。

本地工具管理图片

1. 又拍云资源管理器

虽然可以在网页管理图片,但有一个客户端总是好的。又拍云有一个资源管理器,叫「manager-for-upyun」。可以到 GitHub 下载,或是下载 蓝奏云 的备份档。下载即可,免安装,直接使用。

填入上面创建的「操作员」帐户和密码,「空间名」是上面创建云存储那一步里自己瞎写的「服务名称」,「公开URL」填自己绑定在云存储的域名。然后保存配置,点击连接,就能用啦。是不是超级简单呢?

对于图片保存,建议上传前先用压缩工具压缩一遍,再按自己喜好分门别类。比如按照时间创建2020文件夹,底下再细分;或是按照文章slug分类。最终的一切都由你决定。

2. PicGo

如果觉得上面那玩意儿不好使,咱也可以下载 PicGo 替代它。配合 Typora 的快速上传功能,只要让 PicGo 在后台运行,就可以直接在写作的时候上传图片,无需手动操作。

具体配置方法请参考官方文档

在线图床

兰空图床

安装过程参考官方文档,这里说个使用LNMP会遇到的问题:HTTP ERROR 500
由于兰空图床使用的是Thinkphp框架,网站目录在public下,且需要跨目录调用public上级目录下的文件,而LNMP默认是不允许跨目录访问的,因此需要将防跨目录访问的设置去掉。
进入程序目录,将.user.ini移动至public中。如果没有.user.ini这个文件,就手动在public里创建一个。

cd /home/wwwroot/lsky
mv .user.ini public
cd public
chattr +i  .user.ini

再使用lnmp安装包 tools 目录下的 ./remove_open_basedir_restriction.sh 进行移除。

cd lnmp1.7/tools
./remove_open_basedir_restriction.sh

填入/home/wwwroot/lsky/public
可以参考这个issue


  1. 维基百科:云存储
  2. 不要钱的前提是申请又拍云联盟
  3. 加速域名 CNAME 具体参考又拍云文档