本系列用于记录我在个人网站搭建过程中的点滴。
初衷
原本是希望好好利用我的NAS服务,利用个人NAS作为服务器,搭建个人网站的各项功能,期望建立一个信息自留地,用于管理自己的文档、读书笔记、照片等各种信息。
平台选择
- Halo:
- 优点:Docker部署,功能完善,一键实现博客所有功能
- 缺点:写文章需要在网站上进行,与我的习惯不符;比较难使用图床等工具解决图片资源CDN问题
- Hexo:
- 优点:纯Markdown方案,Github友好,直接提交Markdown即可
- 缺点:需要自己增加各种组件来实现更多功能,如评论
最终选择了Hexo方案,有两个原因:
- 我希望通过Github来管理自己的资源,写文章的主要方式也是Markdown
- 图片等资源可以通过图床工具实现CDN加速
部署方案
一开始我的部署方案是 Github + NAS + CDN
- 博客编写和代码维护放在Github
- 网站部署在个人NAS中,通过Hook来持续集成部署
- 静态资源通过CDN加速,指向我的源站
探索的过程中,其实是自己局限了,世界上竟然有 Cloudflare 这样的活佛(免费提供各种服务),而且解决NAS部署访问慢的问题,所以最终的部署方案是:Github + Cloudflare ,细数现在用到的CloudFlare能力有:
- 域名管理
- DNS
- SSL/TLS
- 页面规则
- R2 对象存储:图片等静态资源管理
- D1 SQL数据库:评论数据存储
- Worker 和 Pages
- Pages: 部署博客网站
- Worker: 部署评论服务
以上服务全部免费。