使用github pages作图床

github pages是用来给项目做网站的一个功能. 关于github pages的介绍,可以看官方链接 https://help.github.com/en/articles/what-is-github-pages . github 一个代码仓库官方并没有给出存储大小限制, 当超过1G空间的时候会发一个提醒邮件,提示您减少代码仓库的大小. 单文件不能超过100M大小, 通过web上传则最大的大小是25M大小. 按照1G空间, 假设我们的图片大小100K一张(网站用途,非raw和高清大图片),那么我们一个github 代码仓库可以存放1024×1024/100=10485.76 四舍五入话,那么可以存放10485张图片. 那么下面我们介绍一下,如何使用github pages实现图床.

1. 首先你要有一个github 账户, ${githubaccount} 代表你的github帐号名

2. 创建一个代码仓库,仓库名是${githubaccount}.github.io 和 一个新的newProject代码仓库,这个用来作为我们的图床. .

3. ${githubaccount}.github.io 这个仓库里,创建一个index.html 随便内容即可,push到github上. 在github的该仓库的settings里github pages 配置里, publish我们的${githubaccount}.github.io. 选择master分支即可.
发布成功后,会看到一个类似的如下提示:
Your site is published at https://nighteblis.github.io/
我们打开这个网站可以正常访问,即表示我们的githuab pages 主页已经发布成功了. 接下来我们再做我们的图床.

4. 进入我们的newProject. 因为github pages 仅支持master, gh-pages 分支 和 master分支的docs 目录. 所以假设我们的newProject 的图床将doc 目录作为我们的图床站点的根目录.
newProject 里创建doc文件夹,里面放置一个test.png 图片. 然后commit 并push到master分支.

5. 在doc里面,同时添加一个CNAME文件,里面的内容是我们图床真实相仿问的网站地址, 首先这个域名你是要有控制权的. 稍后我们会去learnjmeter.cf 的域名后台, 也添加一条cname record记录.(稍后再提)
$ cat docs/CNAME
images.learnjmeter.cf

6. 再次进入我们的newProject设置里. 找到github pages配置区域, custom domain 填写 images.learnjmeter.cf. source 选择 docs on master分支. 设置后, 并看到
Your site is published at https://images.learnjmeter.cf/

7. 进入learnjmeter.cf 的域名配置内容.(前提你要购买域名的哦. 可以来这里免费注册国际域名.一分钱不用https://www.freenom.com/)
添加cname记录. images.learnjmeter.cf cname 到 nighteblis.github.io .

8. 配置成功后, 我们访问 https://images.learnjmeter.cf/images/3.4.2.3.jdbcconfiguration.png
就是在访问者 https://github.com/nighteblis/JmeterBook/blob/master/docs/images/3.4.2.3.jdbcconfiguration.png

可以成功访问后,那么我们的图床就创建好了. 下次只需要commit并push 图片到 newProject图床的master分支的docs目录下即可.

后话:
以为从某些地区访问github 还是有些慢的情况, 因为网络原因或者封锁问题等. 所以建议还是使用cloudflare 进行cdn加速. cloudflare 可以提供免费的cdn 加速服务. 之前有新闻报道, baidu对中小企业的网站加速服务即是和cloudflare合作的. 所以cloudflare 在国内的网络稳定性还是可以的.(虽然2017年左右cloudflare主站因为某些css,js的cdn被封导致过打开困难情况). cloudflare使用起来也是非常简单的, 加速后应该可以显著的提高图床图片的打开速度.

此篇文章已被阅读3996 次

Tags:
One Comment

Add a Comment

邮箱地址不会被公开。 必填项已用*标注