Skip to main content

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

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

为什么重新搭建博客
#

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

【系统设计】用亚马逊云 AWS 和 Wordpress 搭建个人博客
· loading · loading
系统设计 SystemDesign 系统设计 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 一篇一篇移到新的代码仓库里面。也算是对自己过去生活想法💡的一个重新整理吧~

展望
#

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