为什么选择这套方案?
很多开发者在购买了轻量云服务器后,都想搭建一个属于自己的独立博客或个人作品集。然而,当服务器上已经跑着一些生产应用(例如数据转换、反代代理工具 Sub2API 等)时,常常面临以下痛点:
- 内存告急:传统博客(如 WordPress、Halo 等)动辄占用 500MB ~ 1GB 内存,很容易触发 Linux 系统的 OOM (Out Of Memory) 杀掉后台服务;
- 运维繁琐:每次发文章如果都要登录服务器敲命令,写作热情很容易被磨灭;
- 证书配置复杂:配置 Nginx 和 Certbot 的 SSL 证书容易踩坑且面临证书过期风险。
针对这些问题,Astro + Caddy + GitHub Actions 构成了近乎完美的现代化解决方案。
核心架构与 0 内存占用原理
整个系统的运作流程如下:
- 本地纯净写作:平时只需要使用 Markdown 语法在本地写文章;
- GitHub 免费出苦力 (CI/CD):
git push推送后,GitHub Actions 的云端虚拟机自动在 1 分钟内编译生成极速的纯静态 HTML/CSS 文件; - 安全极速同步:通过 SSH 将打包产物投递到云主机的静态文件目录(如
/var/www/blog); - Caddy 零额外开销托管:由于服务器上已经运行了 Caddy,只需在
Caddyfile追加几行静态规则,即可直接为新域名提供服务,并全自动申请和续签 Let’s Encrypt HTTPS 证书。
整个过程服务器新增内存占用为 0 MB,因为 Caddy 本来就在运行,只是多负责了一个静态目录的分发!
下一步计划
接下来,我将继续完善:
- 沉淀更多关于全栈开发、Docker 容器化与网络协议的技术笔记;
- 将自研的工具集接入主页的作品集列表;
- 接入基于 GitHub Discussions 的 Giscus 无后台评论互动。
欢迎订阅 RSS 或在 GitHub 上与我交流!