前言
今天我们来聊聊Hugo博客的图床选择。
图床其实就是我们写博客时用来存储图片的服务器。一般个人博客都习惯把图床设置在自己博客所处的VPS
下,如果博客为了节省日常服务器流量开销或者容量开销才会选择图床作为一种分流的方式。但是由于国内网络环境较为特殊,部署在GitHub
上的图床几乎没有可能在国内网络环境下正常加载,所以我们需要一个国内图床进行分流。
An image hosting service allows individuals to upload images to an Internet website. The image host will then store the image onto its server, and show the individual different types of code to allow others to view that image. Some of the best known examples are Flickr, Imgur and Photobucket, each catering for different purposes. –Wikipedia
图床相对于个人用户更加友好,省去了很多烦心事。只需要通过图床提供的API
接口上传,图床会自动生成相应格式的外链,我们即可直接拿来使用,并且图床还能提供CDN
加速、图片处理压缩、图片鉴黄、OCR
文本识别等丰富的功能。
当然图床也存在缺点,如果你所使用的图床服务器宕机或者公司停止提供服务,那所有的图片就会无法访问了。当然这种情况发生的概率较低,对于个人用户来说,白嫖是最好的。
目前图床可分为公共图床和自建图床。公共图床就是利用公共服务器所提供的图片上传接口,来提供图片分享外链的服务,比如新浪微博。自建图床,是利用各大云服务商提供的存储空间或者自己的服务器使用开源软件搭建的图床,例如又拍云、七牛云等开源自建图床方案。
公共图床
微博图床
由于微博本身就是面向公众提供服务,每个人发微博基本都得带上几张图片,以微博的体量,每天的新增图片数也不是个小数字。但是微博对于图片上传服务也没有接口说明文档,上传的接口还是在开发者们从微博产品里找出来的,可能微博只希望上传的图片仅仅用于微博产品本身吧。
微博图床的特点是免费,没有容量限制,全网 CDN
加速,支持 HTTPS
,到哪里都很快。但是免费的服务也有不足的地方,上传的图片会被转成 JPG
,图片中可能加上了肉眼难以识别的水印,另外微博的图片鉴别服务也可能会随时删除你的图片。
相关链接(不推荐前两种方式):
微博图床上传地址:从这里直接上传图片比较麻烦,你可以使用下面介绍的一些图床工具,上传起来更方便。微博图床 API:用浏览器当然是不能访问的,只提供图片上传。- 第三方微博图床上传网站:可以在浏览器上登陆,注意保护好个人隐私,遵守图床使用规范。
- 第三方微博Chrome 插件:详细操作方法可参考官方文档。
Imgur图床
Imgur是一家国外老牌图片存储服务商,在国外响应速度快,口碑不错,支持HTTPS
。但是国内访问速度很不稳定,所以追求国内速度的同学慎用。
相关链接:
SM.MS图床
SM.MS是由V2EX
@Showfom自建的,无外链限制,无流量限制的图床,支持HTTPS
,速度对于国内用户相对友好,非常推荐。
相关链接:
其它公共图床还有很多,不过大部分规模都比较小,要不就是国内访问速度不理想,使用前最好先了解一下。
自建图床:云服务
七牛云
七牛云作为国内领先的云服务商,全网 CDN
加速,全国访问速度都不错,API
很详细,对开发者比较友好。免费用户提供 10GB
存储空间,国内和海外分别提供 10 GB
的 HTTP
免费流量,七牛的 HTTPS
流量是收费的,没有免费额度。此外,七牛还提供了针对图片的各种服务,包括图片裁剪,压缩,鉴黄等等衍生服务。如果你觉得图片尺寸太大,可以在外链后面添加参数,访问的时候七牛会自动根据你的参数对图片进行处理。需要注意的是,七牛云30天后会回收测试域名,因此你必须要绑定自己的已备案的域名。
相关链接:
又拍云
又拍云也算是国内比较有名的云服务商了,国内拥有 200+ 的自建 CDN
节点,国内速度也不错,API
很详细,不过对于普通用户没有免费额度,目前实行的是「按照用户每日实际消耗的 CDN
流量,实行 1:1 的存储空间费免费使用」。
相关链接:
阿里云OSS
阿里云 OSS(Object Storage Service),即阿里云对象存储服务,也可以作为图床,速度国内国外都不错,SDK
和 API
都很完善,收费也不算太贵,就是计费方案太复杂,目前费用包括:存储费用+流量费用+接口调用费用+数据处理,而且还分时段,地区,阶梯计费。可以选择包年包月和按量付费,具体价格和文档可以查看下面的官网介绍。
相关链接:
自建图床:开源方案
Github图床
Github作为世界基佬集散地,除了可以作为代码存储,而且可以作为个人图床,而且没有任何限制不需要支付任何费用,只不过国内的访问速度实在堪忧。最近听说百度CDN
有与GitHub
合作,所以在此做个介绍。
创建代码库
首先在GitHub
创建一个Repository
名称随意。其他细节不再赘述。创建完成之后可以使用PicGo
或者Git
将本地目录上传到Github
即可。
正常的话此时如果要访问相应的文件链接格式应该是
https://raw.githubusercontent.com/[Your Gihub Username]/RepositoryName/[Branch Name]/[File Name]
只需要将该链接修改成以下格式就可以通过百度CDN
方式访问:
https://cdn.jsdelivr.net/gh/[Your Gihub Username]/RepositoryName@[Branch Name]/[File Name]
总结
图床服务最重要的是稳定性。如果你对速度要求较高,推荐你选择大厂的云服务,提供的服务更多而且对轻度用户较为友好。如果你像我一样喜欢白嫖,那我还是比较推荐GitHub
和SM.MS
。其实还是要看自己的需求来选择最适合自己的图床服务。
最后还是要提醒一下各位,注意保护个人隐私,遵守图床使用规范。