通过GitHub+PicGo来搭建个人图床

由 Cizuki 发布

在撰写自己的博客时,图片通常也是非常重要的一部分。因此图片的存储问题也是我们需要考虑的一个问题。如果直接上传到服务器会占用我们的服务器的流量和存储空间。在网络上有诸如sm.ms之类的公共图床,但自建图床会让自己更加安心。因此本文将通过GitHub+PicGo搭建图床的方案来解决图片的存储问题。

0.PicGo介绍

PicGo是一款开源的图片上传工具,支持诸如GitHub、sm.ms、Imgur、又拍云图床、阿里云OSS、腾讯云OSS等图床。在这里面sm.ms和Imgur分为免费版和收费版,也有许多属于收费图床。因此在这几种解决方案里,GitHub就是性价比较高且较为安全稳定的方案了。


1.材料准备

一个GitHub账号
PicGo客户端:https://github.com/Molunerfinn/PicGo/releases


2.操作方法

2.1 在GitHub的设置

2.1.1 注册并登陆GitHub账号(略)
如果出现加载缓慢情况,建议多次尝试或稍后再试,也可以通过科学上网等方式解决。

2.1.2 创建Repository(仓库):https://github.com/new

Description为仓库描述,非必填;Repository name为仓库名称,为必填项。
可选择添加readme.md(Add a README file),其他选项可保持不变。

2.1.3 创建Token(令牌):https://github.com/settings/tokens
进入Personal access tokens(个人访问令牌)后,点击 Generate new token(创建新令牌),或直接访问:https://github.com/settings/tokens/new,然后输入自己的GitHub密码,之后进入下图界面。

Note:对该Token的标记,便于区分,自己喜欢就好呀。

Select scopes:选择Token的适用范围,这里我们需要选中repo。
其它选项可不改动。一切准备就绪后,点击Generate token(生成Token),稍等片刻即可获得Token。
注意:Token生成后只会显示一次。如有需要可将Token复制到其他地方来保存。

Make sure to copy your personal access token now. You won’t be able to see it again!

以上各项操作完成后,即可开始对PicGo的设置。

2.2 在PicGo的设置

2.2.1 下载并安装PicGo客户端(链接见1.材料准备)
请根据自己的系统版本,下载并安装对应的客户端。目前已知支持:Windows/Mac OS/Linux.
本文选用Windows版本进行介绍,其他系统版本操作基本一致(可能)。

2.2.2 设置PicGo参数
打开PicGo客户端后,点击参数设置 - Github图床,填写好自己的参数。

设定仓库名(必填):格式按照“用户名/仓库名”来填写。例如GitHub用户名为wdnmd,仓库名为sxc258,就填写为"wdnmd/sxc258"。
设定分支名(必填):若你在2.1.2中未进行设置分支名的操作,填写默认的"master"即可。
设定Token(必填):将你在2.1.3中生成的Token填写进去即可。
指定存储路径(非必填):填写上传后图像的存储路径。例如"img/"即为将图像保存在仓库img目录下,可根据个人实际需要选择填写。
设定自定义域名(非必填):主要用于图片链接拼接。默认格式为https://raw.githubusercontent.com/用户名/仓库名/分支名。由于部分时间、部分地区直连GitHub速度并不如人意,因此可以使用CDN来提高加载速度,这一部分内容将在下文进行介绍。
上述内容设置完成后,点击“确定”保存设置。建议将其设为默认图床。
上述步骤进行完成后,我们可以试着上传照片来测试其可用性。若提示“上传成功”,表明你的图片上传成功,图床可以投入实际应用了。

以上就是通过GitHub+PicGo搭建图床的基本步骤。

但是在国内环境下使用时我们会发现一个问题:在部分时间、部分地区内直连GitHub速度并不如人意,甚至会出现掉线的情况。为了减少这种情况对我们实际使用体验的影响,我们可以通过使用CDN来提高加载速度。操作步骤见3.通过使用CDN来改善使用体验。


3.通过使用CDN来改善使用体验

在上文我们讲述了该图床在国内环境下存在的问题。下面我们将通过使用CDN方法来解决。

3.0 jsDelivr
对于CDN,建议选用jsDelivr,会显著提高诸如图片等静态资源的加载速度。

jsDelivr is the only public CDN with a valid ICP license issued by the Chinese government, and hundreds of locations directly in Mainland China.

jsDelivr官方网站:https://www.jsdelivr.com/
需要注意的是,jsDelivr只能针对大小小于50M的文件进行加速,但对我们做图床来说并没有非常大的影响。

3.1 使用方法
jsDelivr给出的调用方法是:https://cdn.jsdelivr.net/gh/user/repo@version/file
简单来讲就是https://cdn.jsdelivr.net/gh/用户名/仓库名@分支名/文件名
搞清楚结构之后就可以填写设置中的自定义域名了。
例如你的GitHub用户名为wdnmd,仓库名为sxc258,分支名为master,就这样在自定义域名中填写:https://cdn.jsdelivr.net/gh/wdnmd/sxc258@master
需要注意的一点是,在自定义域名一栏里是不需要填写文件名的。
设置完成后再点击“确定”保存设置。再上传就会发现自己的图床链接变成了jsDelivr的链接,而不是GitHub的链接,这时候访问jsDelivr的链接就会发现比GitHub的链接快许多,具体效果可以自己亲自来试一下。


写在最后

谢谢你能看到这里
如果认为这篇文章帮助到了你 不妨留下一条评论证明自己来过
如果需要转载,还请注明本文作者和文章链接
还请多多指教 谢谢你的陪伴
嗯 就这样


仅有一条评论

发表评论