历时25天,个人博客(www.ityouknow.com)终于又活了过来

时间回到2016年的7月10号,那时候我刚刚开始正式在博客园写博客,博客园的交流氛围很好,但鉴于博客园古老的界面,同时计划建立一个本身独立的博客,毕竟本身的博客怎么折腾都行。css

那时候正在研究 Spring Boot ,正是开源项目云收藏的启动阶段,在网上找 Gradle 的使用方法,在 Github 上发现一个比较好的学习资源:Gradle User Guide 中文版,看完以后顺便查看了一下做者的 Github 主页,发现有一个 Jekyll 主题 Yummy Jekyll Themehtml

经过这个连接我打开了做者的博客,发现这个博客主题简洁、大方,总体淡蓝色的风格深受个人喜欢。下图是它最初的模样:linux

后面我根据本身的状况,作了一些定制,就成了如今的样子:nginx

刚开始接触 Jekyll 的时候对它并非很了解,Markdown 语法也只是停留在”据说过“这个阶段,看到这个主题后,花了一点时间尝试着按照它的语法写了一篇文章,发现有一种用敲代码的方式去写文章的感受,文章渲染以后的效果也很好。掌握了这个技能以后,个人写做利器就成了 Sublime text 3 + Markdown 组件 + Github + Jekyll。git

就这样开启了我我的博客之旅,刚刚开始几乎没有什么流量,天天几我的访问,到了后来慢慢多了起来,一天几百人访问到几千人访问。后来给博客添加了流量统计,发现不少流量都是经过谷歌过来的,百度搜索流量为0。网上查了一下缘由:早些年百度仍是能够爬取 Github 上面的内容,后来因为百度的爬虫太猛仍是什么缘由,反正最后让 Github 官方感到很不爽,因而 Github 就把百度给屏蔽了。github

在中国绝大部分都使用百度搜索,所以就白白损失了一大部分流量,网上有不少的解决方案,好比部署两份根据域名解析选择走国内仍是国外,或者直接使用 Coding.net 来托管博客,但 Coding.net 托管的博客老是有它本身三秒广告,让人很恶心。其它方案也都很复杂,后来就放弃了。web

在使用一年多后的一天也就是2017年的8月,提交新文章时忽然收到 Gitub 返回的邮件报编译错误,本身花了不少时间去找缘由,甚至去V2ex求助,给主题做者发邮件都无果,后来尝试着给 Github 官方发了几封邮件,才明白多是 Github Page 升级了相关组件包,致使提交的版本不兼容编译出错,最终折腾了一番终于解决了这个问题,具体解决过程能够看这篇文章:千里追踪博客之殇浏览器

经历过这个事情以后,就想万一之后 Github Pages 再升级组件,会不会又面临此问题。加上 GitHub Pages 又不能被百度搜索引擎抓取,因而想换一种思路来解决这样的问题。Jekyll 是静态博客,最终给你们访问的页面都是生成的静态 Html,就计划在本地将 Jekyll 博客编译成 Html 文件,打包后手动上传到服务器的 nginx 下面不就好了。缓存

说干就干,在本机折腾了两天终于搭建好了环境,使用 Jekyll 命令能够在本机新建、预览、编译博客,很是方便。刚好我在国外有一个云主机,就找时间在上面部署了一个 Nginx, 再加上缓存什么的设置,就将打包好的静态页面上传了上去,域名指向从新作了配置,访问了一下妥妥的。过程虽然稍显麻烦,但解决了百度搜索引擎和 Github Page 组件升级的问题。切换以后没过多久,博客的日均访问量到了1.5W左右。服务器

博客托管到国外的云主机以后,写做流程就变成了这样:每次写完博客在本机电脑打包成 Html,再压缩上传到云主机,登陆到云主机上面将压缩包解压覆盖,而后完工。虽然比起之前复杂了不少,可是流量多了一些也忍了。直到前一个多月的时候,发生了两件事情,促使我决定要把博客搬回到国内。

有一天在上班,忽然群里有个小伙伴说,你的博客怎么访问的时候那么慢,须要5分钟才能打开页面,我说多是大家那边网络的问题吧,也没太在乎,过了两天不断有人跟我说这个事情,我才意识到应该不是局部网络的问题。开浏览器的调试页面跟踪了一下慢的缘由,发现使用国内公共 CDN 的 js、css 须要一分钟甚至更长时间,继续跟踪发现只要是国内的资源加载起来都很是的慢。想起这两天的 Vpn 也不稳定,才明白开会期间可能对网络采起了管制,致使部分资源受限,因而修改博客资源都从本地读取,完成以后博客的访问速度回归到了正常。

过了几天北京这边又开一个更大的会,有几天的时间个人博客直接就不能访问了。看来只要北京开会,个人博客确定就会出现不稳定的状况,缘由就是由于我使用了国外的云主机。另外想给网站加一些功能,好比QQ登陆什么的,都有一个前提条件必须有备案。刚好腾讯云那几天在作活动,就买了一个云主机,准备将博客从国外搬回到国内,没想到又掉进了另一个坑。

备案须要25天!

我在5月11号在腾讯云提交的备案请求,由于须要填表、照相花费了大概一周的时间,将全部的资料初审完成以后,腾讯云客服通知我说,网站在备案期间必须关闭,否则有可能备案不经过。没办法那段时间只能将域名解析关闭掉,同时将博客连接到:www.mooooc.com,在备案的期间,每天有网友给我留言、发邮件或者微信、QQ沟通说是否是个人博客挂掉了,天天给你们解释真的是心累。

眼看着一周过去了,两周过去了,备案仍是没有下来,我隔两天就登陆系统看下状况,终于在6月4号下午收到了备案经过的通知:

其实我到如今也想不通,就那么一点点信息,为何备案须要20个工做日,效率低的让人崩溃。

在备案的同时,我在腾讯云主机上搭建了 Jekyll 、git 环境,同时写了一个简单的脚步,执行脚步会自动从 Github 拉取增量代码并打包到 Nginx 的目录下,同时利用 linux 的 crontab 作了一个定时任务,天天晚上定时同步一次,这样之后发布文章就简单了,我只须要将代码提交到 Github 上面,剩下的工做就让定时去操做了。

另外若是你想了解如何去写博客,能够参考这篇文章:技术博客那些事儿