最近研究了一下国内外比较主流的图床与对象存储,因为个人写作更加偏向于使用Markdown,而国内很多平台如掘金,简书,csdn等等网站都做了相关的防盗链,即使是我为作者本人,想取用之前的文章截图都默认加上了水印,虽然肯定是有方案去做迁移的,比如说这个月初51CTO找到了我QQ号,并给了一个搬迁网址,我只要填完便可以拿到一些小奖品,不过我不太感兴趣(主要礼太轻,emmm,不如搬华子冲一波freebud3),我主要写博客是有当笔记来用,所以,自然而然,我就想到搭建一个属于自己的图床。
其实这个不是最具有性价比的一个选择,不过整体而言,对我来说却是最省时间成本的一个方案。当时是冲浪的时候无意刷到的,看到香港一型3年的VPS只要159元,虽然是共享带宽的,但我并没有搭网站的想法,意义不大,域名几年前就过期了,真搭起来了,前期没有高qps的话,5M完全绰绰有余,况且我现在搭的个人book正挂载在gitpage上,已经长草了,没时间维护,emmm,之后可以再开一期gitpage搭建指南,所以我买来最多搞点科学工具,以及小实验。
硅云的首页上有说明,购买VPS后,除com后缀外,其它域名免费送一年,我大概算了一下,发现整体还行,后续再续费,全部费用也在200块以内,主要后台和域名的控制面板做得不错,就顺势加入了:
在域名和VPS都有了做了相关解析后,就可以此为跳板,去配置七牛云的云存储与cdn,不过因为我域名没有备案,所以在七牛云上只能走东南亚的bucket,但自我体验来看,基本和国内的速度是一样的,相比于github图床,那可快太多了,特别是网络抽风的情况下。
其实我这也算用的国内厂商七牛云,它的好处是有10G的免费额度,这也是我上面绕了一圈最后挂回来的原因,如果超过了,它内部一直在活动周期,我这种小图床业务,一年不会超过10块钱,缺点就是若买的国内云,域名解析是需要备案的,根据我之前两次备案经历,这个时间在一个礼拜到一个月之间不等,中间还需要邮寄材料,特别是我第二次备案,因为由阿里云转到了腾讯云,根据腾讯云官方当时回复我的意思,是说我的个人备案主体还在某局档案袋里,需要写纸质材料,一式三份去取消,我的新域名才能备案成功,我听完瞬间就不想搞了,于是花了70多在毕业前买的三年域名,好像就用了几个月,一直到过期。。。另外,备案过了每年还需要审核,还有一堆的流程问题。但我现在买的海外服务器,那这些基本就跟我没有关系了,emmm
阿里云在很早之前好像还有免费额度用,我是看后台还存在 4.33G 计费容量,顺带变为了欠费账单,但我去查询request id,并没有显示该服务有欠费,不知道啥情况,大概要提工单问一下,这斗很久前了,目前已经不用,现在再去看一下目前的价格,最低档的下行流量,买一年的价格如下图:
腾讯云相对而言要好一点,但计费项太多了,根本不知道如何做选择,不过相比于阿里云来讲,我同样选择的外网下行流量,便宜了50块,并且更低档能到10G,相比较下,更加人性化,虽然还是很贵。
这是我最开始的方案,可我搭建完才发现好像已经用不了了,大致的一个日志为:
2023-05-28 15:47:30 [PicGo INFO] [PicGo Server] is listening at 36677
2023-05-28 16:40:44 [PicGo SUCCESS] 插件安装成功
2023-05-28 17:02:31 [PicGo INFO] Before transform
2023-05-28 17:02:31 [PicGo INFO] Transforming... Current transformer is [path]
2023-05-28 17:02:31 [PicGo INFO] Before upload
2023-05-28 17:02:31 [PicGo INFO] beforeUploadPlugins: renameFn running
2023-05-28 17:02:31 [PicGo INFO] Uploading... Current uploader is [gitee]
2023-05-28 17:02:32 [PicGo INFO] [上传操作]异常:Request failed with status code 403
2023-05-28 17:02:32 [PicGo SUCCESS]
2023-05-28 17:02:53 [PicGo INFO] Before transform
2023-05-28 17:02:53 [PicGo INFO] Transforming... Current transformer is [path]
2023-05-28 17:02:53 [PicGo INFO] Before upload
2023-05-28 17:02:53 [PicGo INFO] beforeUploadPlugins: renameFn running
2023-05-28 17:02:53 [PicGo INFO] Uploading... Current uploader is [gitee]
2023-05-28 17:02:53 [PicGo INFO] [上传操作]异常:Request failed with status code 403
2023-05-28 17:02:53 [PicGo SUCCESS]
然后去知乎上翻了一下,果然有这问题,我只能说,懂得都懂,这个时间节点,正好是国内特色的整改。
本节我将csdn、简书、掘金以及微信公众号等都统称为外部图床,即也可以作为保存图像的地方,但要受很多的限制,比如说现在各家都在搞竞价,水印直接说加就加,我都不知道的情况下,就对所有文章图像进行了升级加密,导致本来之前可以直接将csdn文章转微信公众号的途径多了一层水印,虽然影响不大,只是观感差了点。
https://dash.cloudflare.com/
不管有没有听说过cloudFlare,应该都看过如下界面:
类似的画面,主要判断进入网页的该用户是否为真人,如果是的话,就是验证通过或者success!框中的云朵图就是cloudflare的标志。
与国内七牛云一样,它同样是有免费额度,计费方式为:
永久免费 | 超出部分/月费 | |
---|---|---|
存储 | 10 GB/月 | 0.015 美元/GB |
A 类操作 | 100 万次/月 | 4.50 美元/百万次 |
B 类操作 | 1000 万次/月 | 0.36 美元/百万次 |
这价格相比于其它厂商已经很便宜了,加上它的免费服务器,整体性价比拉满,但限制是加入R2 project需要银联卡,那时候我刚申请,卡还没到我手上,计划是当天下午就做好图床,就没有再考虑了,不过后来卡到了后也是马上申请了,因为它并不需要预付款,而是验证通过即可,所以我卡里没有钱,也是一样的,如下图所示:
若是加入了R2后,第一步就是添加website,域名可以在国内或国外购买。我浏览了一圈 https://www.namesilo.com
,可能物价不太一样,无法对比,如果直接换外汇的话,价格也还行,top域名是我预先已在国内换了,所以下图中没有再显示,以xyz后缀为例,我Add后,它里面还能再减少1.35刀,那入手的话就是1刀左右。这作为一年是不亏的:
http://51server.top/?i=1
如果说还有什么比cloudflare更强大或者白嫖的存在,那我觉得可以是Vista panel,它是由托管经销商专门设计提供免费托管服务的平台,它的牛逼之处我无法用语言去形容,直接给出如下截图:
该平台注册账号不需要绑定银行卡或者任何有关于钱的信息,注册成功后即会弹出所有它所分配资源的账号密码:
可以从上述图右边的static看到,该平台实现了它进首页的承诺:
太牛批了,只能说,我简单总结下就是,拥有的免费资源为:5个域名,10个数据库,10G存储,无限流量,1个FTP账号。这些因为都是为了搭建个人站所准备的,所以搭建个人博客等服务简化到不需要考虑LNMP (Linux+Nginx+MySQL+PHP),只需要鼠标点击下面的Apps Installer:
点击后,选择blog下方的WordPress,然后进行install now:
紧接着会弹出相关配置项,与正常WordPress一样,填完即开始建站,根据自己的喜好先选一个主题,觉得不好看,后续应该可自定义更换源码。这里就不再演示,配置如下图所示:
但最终我为啥没用该方案呢?主要与从小被训练大的价值观不符,以及经历。难以置信完全免费给出所有资源,并没有期限,我表示出怀疑,然后找了半天bug,最终让我打消念头的是它给的一个二级域名,虽然我把该域名丢七牛云测试了一下,发现是可以申请存储空间的,加上它本来的10G,那就是20G。只是感觉,少了一丝扩展性,我就没用,emmm。。。
事实上偏小白的话是可以尝试的,省了非常多时间,如果是要求扩展,又对搭建东西有比较高要求,就不太推荐全web端操作,我上面没有找到很明显的问题,是因为没有再继续深入,一般完全靠网页上点击就想解决所有难题是不现实的,网站的SEO算法、流畅度、插件自定义优化等等,都还是得深入代码底层。
没啥好说的,git缺点就是不稳,每年由于某原因,出现那么几个月上传极慢,其余时间也时不时抽风,如果能忍受网络时停的bug,那就是非常完美的图床,比如说我用其搭建了一个公开笔记挂载到gitpage:submarineas.github.io/te_learning/#/
这个标题想表达的意思是,完全利用手头现有资源,不去关联第三方平台,能搭建起图床嘛?答案当然是可以。现有的资源,就是多余的手机 or 电脑。
电脑如何操作,简单概括下,可以用win下自带的服务器IIS,也可以刷成Linux,然后最简单的方式,就是做一层文件映射,比如说安装一个nginx文件代理,但这肯定得限制为内部使用人员,当然方法也很简单,比如说加白名单,以及限制token:
location / {
root /usr/share/nginx/html;
index index.html index.htm;
allow 10.0.20.4;
deny all;
}
# token 不等于 submarineas,返回403
if ($http_token != "submarineas"){
return 403;
}
策略还有很多,不过走了内网,还是得留出一个端口,或者cdn去转成公网,这样换算一下反而时间开销很大,有点得不偿失。所以如果本身IP已经在公网的服务器,想做图床这种对象存储,比如说minio,在下篇推文中我会讲到。
那若是换成手机,操作基本跟电脑端一样,以下为几个可以参考的工具:
Linux Deploy
https://github.com/meefik/linuxdeploy
Linux Deploy 是一个在 Android 上运行的 chroot 容器。使用 Linux Deploy,通过简单的操作,可实现运行 Debian/Ubuntu 等多个流行的 Linux 发行版本。支持的发行版本为:Debian、Ubuntu、Kali Linux、Arch Linux、Fedora、CentOS、Gentoo、Slackware、RootFS (tgz, tbz2, txz)
Busybox
https://github.com/meefik/busybox
BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的shell。
ADB工具(测试端口)
https://www.coolapk.com/apk/crixec.adbtoolkitsinstall
adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。
当然,如果想要更简单,也可以不从源码角度,安卓同样有做好了集成化的软件,如KSWEB:
http://kslabs.ru/
目前为止,手机端搭建web服务器最好用的软件是Ksweb
是一款俄罗斯人开发的基于安卓系统的web服务器,集成了php、Nginx、MySQL、Apache、FTP等
可以参考如下官网截图:
跟上面的Vista panel类似,但它是安卓的版本。这里有一个难点,搭建对于感兴趣或者说技术比较强的人那是很快的事情,部署好后应用只是位于局域网,也就是说,我们需要一个公网IP才可以在任意地方上传截图或者视频等任务,不过近几年公网IP很难再跟运营商申请到,不仅仅是IPv4地址的短缺,也存在待价而沽的现象,另外很多家用网络,目前用的都是动态生成IP,会随时切换,如果想转成静态,我最近去了解了一下,一个月的价格都不低,所以,只能走另一种通道。
当时考虑这个的时候,正好看到一个群里有人讨论,结论是映射IPv4不行,那可以直接映射到IPv6。具体做法我还不是很清楚,但查找了些资料,如果说路由器以及当前开通的网络支持的话,可以进http://test-ipv6.com/
直接测试,如下图所示:
当然,我的网络很垃圾,我也没考虑升级,住处不稳定,能用就行,只是作为一个比方,如果这里测试全部通过,那么看起来就可以通过直接去路由器后台设置相关映射,而像我一样如果检测没通过,我看到依然可以做映射,但就是最好刷机成Linux,需要一定的技术去实现了,本篇该节点到为止。
一般七牛云创建完bucket后,都会在个人中心的密码管理中默认创建一对 AccessKey/SecretKey:
然后加上bucket的名字以及创建的区域,与绑定的域名,就构成了PicGo需要的信息,比如我设置的as0
为东南亚专用区域:
点击确定,并设置为默认图床,测试上传一张图片,如果转化成了所设置域名前缀的格式,那就代表着没有问题了,最后,当然也可以再将picgo带入typora中,同样更为简单:
本篇推文我总共分为了三个大章,分别介绍了国内外第三方图床业务,以及如何自己手动搭建一个类图床应用,这里的一个优先级是,如果对该技术非常感兴趣,不怕会遇到很多的bug,推荐去自己手动搭建一个图床并部署于公网上,这是最具性价比,可以说零成本,但所需时间可能最多。而如果有科学工具,银联卡等需要花时间办理的东西,推荐使用国外的第三方服务,性价比也极其高,顺带学习英语。最后,如果想快速搞定图床业务,可以选择我的方式,但我写这篇的时候,已经过了618降价,如果考虑国内第三方的话,也还可以,就是多花了一些钱财,但cdn加速等等,肯定是更加快的。