Move to Hexo

Blog on Hexo

DevOps

在经过了一段时间的debug, 我终于把ghost在vps上的问题解决了. 在这个过程中, 我发现我果然是一个糟糕的DevOps.

  1. 在最开始安装Ghost的时候, 为了让Ghost能被自动托管运行. 我尝试过几种的tools, 包括forever, PM2和手动写/etc/init.d的方式来处理. 糟糕的地方在于, 当我每次尝试过这些工具之后, 都没有很好的处理对应的config文件, 导致了在某处总是存在forever的config和PM2中的ghost产生冲突. 其次, 在升级ghost之后, PM2对应的ghost配置由于版本的冲突,每次PM2 ghost start都会失败. 从此我的ghost就陷入了connection error.
  2. 我曾经在ops上跑过一个ruby on rails的app, postgre, 以及很多尝鲜性的东西. 然后, 我就把他们给忘了他们就持续的运行在vps上, 某Rack占用了大量的内存. 而我都不知道他们是干啥的
  3. 没有做好privilege管理, 好多的process都运行在root奇怪的user下面

Give up Ghost

Ghost是一个相当不错的blog平台, 但是其实在搬移到ghost上之后我也没有坚持写几篇文章.

Ghost是由wordpress的前员工离职后创建的新的framework. 他们认为wordpress在不断的发展过程中,在从blog到CMS的转变中变得越来越臃肿. 所以在Ghost的一开始的定位就是一个simple blogging platform. 但是在使用,主要是升级和备份ghost的过程中, 我仍然觉得太麻烦了.

  • 特别是dump出来sqlite的json, 如果原来的数据库down掉了, 便很难再恢复回去.
  • 如果你没有及时备份, 那么和上一个备份区间的数据也就丢失了.

Hexo

因此我理想的blog平台需要具备几个要求:

  1. 本地写blog
    很多人更倾向于在web平台写blog. 因为你可以在任何地方写下来, 而不必特地回到自己的电脑上来写. 但是对于我而言, 写博客真的是只有在自己的电脑上, 坐下来, 有了思路才会慢慢悠悠的码字. 特别是与技术相关的内容, 有的时候我必须各种Google,对照之前的笔记, 翻翻教科书, 所以几乎可能出现在随时随地写的可能性啦. 同时在
  2. Markdown支持
    Markdown也发展了蛮久了. 其语言简单方便, 同时在Github的影响下, 我也早已经习惯了通过MarkDown来写文档. 有的时候在公司写WiKi都觉得各种不方便与反人类. 正在努力和IT安利MarkDown来处理公司的WiKi与文档, 但是大公司的文档和code base一样, 想改难于上青天呀. 毕竟从公司的角度来说, 新的技术再好也要考虑成本问题.
  3. 增量备份
    应该是这么说的吧. 类似rsync一样的高频率备份, 且只备份增量的部分. 这样即使是很懒的我也不需要一段时间备份一下. 每一次的文章push都是一次备份的话又不会导致备份文件像滚雪球一样滚大.
  4. 去中心化
    平时会写blog的话, 主要在MBP上(因为有Mou呀). 我有的时候也难免会在公司的电脑和自己的Desktop上写一些东西. 文章的同步的需求就出现了. 这个最好的解决办法就是git了.

基于以上原因, 我就选择了Hexo + git. 现在有很多人选择通过Hexo + github的方式来运行自己的blog, 而且Hexo的deploy配置中是可以选择git的. Hexo我还不熟呢, 所以就不介绍了. 在安装Hexo和vps的同步的过程中也踩了不少的雷, 等我什么时候有空整理出来了再po一章.

New start

真的不想吐槽自己. 从2014的wordpress, 到2015的ghost,再到2016年搬到了Hexo上, 博客几度得迁移而文章几乎没有. 哈哈哈.

靡不有初,鲜克有终.

不过这也算是2016年新的开始了, 希望自己能记住这句话. 努力积累, 而不至于在需要爆发的时候, 后劲不足.

Happy Coding