Skip to main content

【系统设计】用亚马逊云AWS Amplify/Hugo/Blowfish重搭个人博客

· loading · loading ·
系统设计 SystemDesign
Jinbo Pan
Author
Jinbo Pan
A Life Explorer
Table of Contents

为什么重新搭建博客
#

2年前,自己选择了Wordpress搭建博客。

【系统设计】用亚马逊云AWS和Wordpress搭建个人博客
· loading · loading
系统设计 SystemDesign

当时决定选用Wordpress的原因是Wordpress自带了CMS内容系统。本来以为自己会经常写博客,所以CMS内容系统很重要。 可是现在回看过去一年,自己十分低产,所以CMS内容系统纯属于是伪需求。

伪需求就是将人为创造出来的不必要的需求视为真实需求。

并且今年AWS涨价,对静态IP地址也进行收费,因为Wordpress需要部署在服务器上,账单费用也涨了,所以思考一阵后,决定摒弃动态网站转而静态网站。

静态网站 vs 动态网站
#

静态网站是指网站内容是预先生成的静态HTML、CSS和JavaScript文件,这些文件直接从服务器提供给浏览器。 与之相对,动态网站的内容是在用户请求时动态生成的(没有缓存的情况下)。

所以对于像自己博客这种不太有用户交互的网站,静态比较好,唯一不方便的就是每次写完一篇文章需要重新编译生成所有静态文件,而且没有可视化的文章编辑UI。

框架选择 Hugo
#

静态网站的框架也特别多,大同小异,之所以选择Hugo很大的原因是自己看中了一个Hugo的主题Blowfish。 这个主题不仅好看,最重要的是文档特别详细!!!(作为程序员,感恩每一个认真写文档的人!)

Blowfish Logo
Blowfish Logo

部署 AWS Amplify
#

看到很多网友的静态网站都部署在Github Pages上面,但Github Pages并不是所有国家都能访问, 而且自己还是对AWS比较熟悉,所以选择了AWS Amplify

AWS Amplify可以理解成一个自动流水线,当Github代码仓库有更新的时候,会自动触发编译,生成所有静态文件,同时部署到AWS自己的CDN上面。

Amplify Pipeline
Amplify Pipeline

最重要的是AWS Amplify有free tier,12个月内自己的网站只要不超过使用资源的限制就免费。

Amplify Pricing
Amplify Pricing 2024-05-01

用户交互 评论 Twikoo
#

虽然自己博客没啥互动,但还是想提供评论功能。

可以不用,但是不能没有!

(感觉是新的伪需求)

因为评论涉及到数据库读取与更新,所以还是需要一个服务器后端。看了些开源的评论系统,最后选择了Twikoo, 简洁,安全,免费,文档详细,而且满足了我的一切评论“伪需求”(比如头像,表情,email推送等等)。

博客内容转移
#

比较麻烦的是需要把Wordpress里面的文章Markdown一篇一篇移到新的代码仓库里面。也算是对自己过去生活想法💡的一个重新整理吧~

展望
#

网站搞得再花里胡哨也没用,最重要的是内容!希望今年能多写点技术方面的文章!