博客迁移至HUGO

个人博客从09年开始到如今已经度过了十一个年头,虽然更新的频率变慢了,但也仍是一直在坚持输出力求可以帮助到你们。本站最先使用过 ASP 的 PJBlog 到以后大名鼎鼎的 WordPress,以后在 2011年 的时候迁到了 Typecho 一直到如今。html

由于多年的数据和主题修改沉淀,我一直懒得更换程序,甚至是本身开发的 Node.js 博客系统 Firekylin 也没有激发我把主站迁移过去。不过随着网络环境的不稳定性,我也在慢慢寻找一些比较靠谱的备份和快速迁移的方式来下降博客的运维成本。git

数据库和Docker

如今最方便的部署方式就是容器了,因此我第一个想到的就是将博客容器化。由于 Typecho 可能会有图片上传等用户数据产生,因此比较合理的镜像方式是为 Typecho 程序制做镜像,同时将用户数据挂载到本地。github

数据库则选择购买了阿里云专门的数据库服务,下降数据库这块的人工维护成本。这样维护的成本就变成了只要定时备份用户上传文件便可。可是随之又带来了新的问题。数据库

数据库服务贵很差用

首当其冲的就是数据库服务的成本问题,最低配版套餐都要好几百,基本等同于一台主机的价钱。人工运维成本是下降了,可是金钱运维成本直接加倍!并且跨主机商只能使用外网链接,虽然都是同地区服务,可是链接意外的慢。致使主站打开须要好几秒,大大下降了用户体验。网络

机器性能要求高

而后容器对机器的性能也有必定要求。我一直在使用 1核2G 的低配机器维护着个人网站。因为我维护的站点比较多,使用上容器以后发现机器扛不住。换成了 2核4G 以后好一点了,可是金钱运维成本再次加倍!运维

镜像构建困难

最后实际上是容器构建这块的成本。由于手上不少的老站都是使用 PHP 开发的,以前只是单纯的用这些程序。如今为了制做镜像,须要去看程序的基础依赖。wordpress

另外还有一些老程序是破解版的,不太适合放 Docker Hub 上,寻找一个可让我托管私有镜像的地方也废了我很多时间。以前一直没关注过这块,很早以前知道的几个作容器服务的要么不作了,要么就是改为收费了。后来发现其实 Github 就能直接托管镜像,这才方便了点。typecho

总的来讲容器的虽然下降了迁移的成本,可是目前看来性价比不高,想要更好的服务势必要投入更多的资金才行,对我来讲有点舍本逐末。性能

静态部署

同时为了下降个人其它站的运维成本,考虑以后决定将一些不使用的站进行静态博客处理。保留了存档的功能,同时下降了维护成本。主要是如今有不少的免费服务支持静态网站部署。好比我以前在用的 Vercel,很好的提供了对静态博客的支持。在挑选程序的时候发现 Hugo 上我如今在用的主题已经有人实现了 TwentyFourteen,这个主题是我很早以前从 WordPress 的默认主题上迁移过来的。性能很是好。遂就使用它将其余的一些站进行了迁移。网站

只须要在 Vercel 上使用 Import Template 的形式建立项目便可。轻轻一点它便会自动帮你建立 Github 仓库,分配域名,添加证书,最后自动部署上线。而后我再把仓库克隆下来,把导出的旧数据挪进仓库提升一下便可。Vercel 会自动触发更新的流程。

不论是人力成本,金钱成本,还有数据备份成本上来看,这种方案都达到了最低方案。特别在 Github 给我的开放了无限的私有仓库以后,你连数据隐秘性都不须要考虑了。因此在迁移了四五个老站以后,我看着生下来的主站,决定一不作二不休一块迁移得了。

后记

关于如何进行迁移我以后再单独写一篇文章来说。迁移以后运维成本直接消失,不只构建快并且页面访问速度也快,一个字香!以前 Typecho 的 Markdown 格式一直不支持表格语法,换了以后没有这些问题了。不过也不是说没有缺点,以前其实用 Typecho 的后台写文章很是方便,如今换成 VSCode 以后在快捷方式上没有网页的好用,以后再考虑作个单独的发布页吧。