用新技术重构个人网站


这几年里,我的个人网站换了6个版本。不过,前面的许多版本都是小打小闹,在管理上,都很不规范。这次的更新中,我对需求进行了一次全面的分析,并尽量使用最新的技术进行实现。

需求分析

在个人VPS上,运行下列服务:

实现分析

这些需求,完全可以由一台有独立IP的VPS实现。

经过多方考虑,我最终采用了如下方案:

该方案的优势

轻量

拒绝NodeJS、拒绝PHP。 Hugo是一个Go编写的静态博客生成器,除了在更新内容时由Webhook调用之外,平时不需要运行,只需要让HTTP服务器展示静态页面。而Hexo需要在后端跑一个NodeJS引擎,懂的都懂,不懂的我也没法和你解释。

博客多端同步

在台式机上没有写完,可以直接以草稿的形式把当前内容commit到私有仓库,在笔记本上pull然后继续撰写。 撰写完毕后,可以将博文改为非草稿,然后commit,博客内容可以自动更新。

安全性

博客内容的传输使用Git,因此可以使用HTTPS/SSH。博客网站前端使用HTTPS为公网提供服务,前后端通信完全发生在本机回环地址,外部无法直接访问。

可扩展性

后端可以自由增加新内容,比如放一个CI上去,只需要增加一个新的容器、一个新的Nginx规则。