虽然在大学生涯就有开始写技术博客,但是一直都是三分钟热度,断断续续的在一些大平台上记录过一些内容,最终也都不了了之。真正开始搭建属于自己的博客(didispace.com)和分享技术内容是从2016年1月开始的,积累至今也有1年多的时间。在写博的过程中,除了内容本身的收获之外,还获得了很多其他方面的经验,而这些经验主要来自于对博客内容编辑的一些强迫症。
接下来,就跟大家分享一下我在写博过程中用过的一些工具,同时也借此文回应一下经常在博客上问我的博客是用什么搭建的、架构图是用什么画的等等类似问题!希望下面的内容可以帮助到有意搭建博客或者已经在编写自己博客的朋友。
自建博客的选择
在编写博客内容之前,我们首先要选择一个合适的博客平台。如果只是注重内容,对于站点布局等没有强迫症的用户,可以直接选择简书、开源中国等提供博客服务的平台来编写自己的文章。而对于很多喜欢DIY的程序猿来说,可能使用开源软件进行一些二次开发,搭建出符合自己口味的博客会觉得更加舒心!开源的博客软件非常多,我们可以将它们为两类:动态博客和静态博客。
总体来说动态博客比较适合于不太愿意花太多时间定制的人,由于其提供了强大的后台系统,所以可以很方便来管理自己的内容和前台展现。下面根据笔者前后使用顺序来介绍一下,我所使用过的几个博客系统,以及每次进行更换时的考虑。
WordPress
我开始的选择也是直接往动态博客去考虑的,所以直接使用了大名鼎鼎的WordPress,但是在运行过程中也发现了不少不符合自己口味的东西,比如功能过于复杂,在做一些深入的功能定制时,其实还需要了解更多软件本身内容才能进行,入门使用成本低、但是定制的学习成本高(PHP大神除外);对于MarkDown编辑的支持不行,虽然有插件,但是功能太弱;另外性能较差也是后来弃用的一个原因。
Ghost
之后又接触了Ghost,一个更加简洁和纯粹的博客系统。在之前的博文中,我也写过一篇关于如何搭建Ghost博客的文章:Node.js的开源博客系统Ghost搭建教程。总体来说Ghost还是非常优秀的,它的编辑器默认采用MarkDown,拥有非常不错的编写体验。另外由于它的功能要比WordPress简单很多,运行起来的速度非常好,只是由于Ghost使用Node.js实现,所以我们在部署的时候,无法使用廉价的虚拟主机,还得使用类似阿里云的ECS来构建运行环境,所以它的部署成本要比WordPress高一些。
那么我最后为什么没有继续使用Ghost呢?主要有两个原因:
- 部署成本较高:具体看下面的部署部分介绍。
- 分类功能不行:Ghost没有分类功能,只有标签功能,所以如果实现一些复杂的分类还得深入源码进行修改定制,这样使用成本就偏高了。
这里顺便分享一个,之前写的一个Ghost的主题。
Hexo(推荐)
通过一番折腾,对于博客系统的选择,我目前还是采用了Hexo,已经很久没有换过了。这是一款开源的静态博客系统。采用Node.js实现,由于是静态博客,对于博客的部署要求很低,简单的虚拟空间就可以用来部署我们的博客了,非常适用熟悉前端的工程师使用。由于部署成本非常低,所以可以说是性价比最高的博客平台了。同时,Hexo的主题也非常丰富,可以与WordPress媲美(相比之下Ghost就少很多)。
我的博客修改自该主题:hexo-theme-icarus
自建博客的部署
关于博客的部署,针对上面的三种不同平台可以有多种不同的方案。
- WordPress:因为采用PHP实现,所以几个公有云提供的虚拟空间是性价比最高的选择。以阿里云为例,独享经济型虚拟空间:298/年,对于大部分博客用户是足够使用的。
- Ghost:因为采用Node.js实现,所以虚拟空间是没有希望了。只能采用虚拟主机自己搭建Node.js运行环境来使用,相对部署成本较高。不过,现在全民云计算活动还是比较划算的选择,算下来与虚拟空间的价格差不多,但是虚拟主机的功能性要比虚拟空间强得多。如果你立志做一名优秀的程序猿,我觉得还是有必要拥有一台ECS来把玩的。
- Hexo:因为是静态博客,所以选择面就很广了。除了虚拟空间和虚拟主机之外,一些提供静态页面服务的代码托管平台,比如:Github、Gitee都是可以用来部署博客使用的。但是个人推荐还是自己搞一个虚拟空间或虚拟主机来使用会更加稳定。
小结:如果使用WordPress或Hexo的话,两种选择:省心点使用虚拟空间,如果喜欢自己DIY可以,可以使用虚拟主机,个人比较推荐使用虚拟主机(阿里云的ECS,自由度更高一些,除了博客还能装点其他的玩玩)。如果采用Ghost搭建,那就只能虚拟主机了,没得选。
最后,贡献两个阿里云优惠,其他的云服务就不推荐了(真心不稳定):