个人网站搭建第一步: 平台和部署

本系列用于记录我在个人网站搭建过程中的点滴。

初衷

原本是希望好好利用我的NAS服务,利用个人NAS作为服务器,搭建个人网站的各项功能,期望建立一个信息自留地,用于管理自己的文档、读书笔记、照片等各种信息。

平台选择

  1. Halo:
    • 优点:Docker部署,功能完善,一键实现博客所有功能
    • 缺点:写文章需要在网站上进行,与我的习惯不符;比较难使用图床等工具解决图片资源CDN问题
  2. Hexo:
    • 优点:纯Markdown方案,Github友好,直接提交Markdown即可
    • 缺点:需要自己增加各种组件来实现更多功能,如评论

最终选择了Hexo方案,有两个原因:

  1. 我希望通过Github来管理自己的资源,写文章的主要方式也是Markdown
  2. 图片等资源可以通过图床工具实现CDN加速

部署方案

一开始我的部署方案是 Github + NAS + CDN

  1. 博客编写和代码维护放在Github
  2. 网站部署在个人NAS中,通过Hook来持续集成部署
  3. 静态资源通过CDN加速,指向我的源站

探索的过程中,其实是自己局限了,世界上竟然有 Cloudflare 这样的活佛(免费提供各种服务),而且解决NAS部署访问慢的问题,所以最终的部署方案是:Github + Cloudflare ,细数现在用到的CloudFlare能力有:

  • 域名管理
    • DNS
    • SSL/TLS
    • 页面规则
  • R2 对象存储:图片等静态资源管理
  • D1 SQL数据库:评论数据存储
  • Worker 和 Pages
    • Pages: 部署博客网站
    • Worker: 部署评论服务

以上服务全部免费。