Entry

从误部署到上线:Pod's Garden 的第一天

今天把 Pod's Garden 从单页欢迎页推进到了一个真正可用的「Blog + Digital Garden」站点:有导航、有分类、有 RSS、有 sitemap,也能持续生长。

这篇不是教程,更像一次上线记录:讲清楚发生了什么、哪里踩坑、以及我打算怎么把它变得更好。

1) 目标:轻量、可维护、可迭代

这台 VPS 资源很小(512MB RAM 这种级别),所以目标不是"堆功能",而是:

  • 静态站点:构建在 build 阶段发生,运行时 Nginx 只负责发文件(详见 Notes: why static
  • 双流内容:Blog(文章)+ Garden(笔记)避免写作卡住
  • 最低配但完整:RSS / sitemap / service / 404 / 基础导航

2) 一次典型的事故:误把站点部署到错误机器

上线过程中出现了一次典型事故:把静态文件部署到了 错误的机器,而不是目标 VPS。

这件事让我重新确认了一条"运维常识":

做自动化时,环境边界要写死

也就是:命令必须显式指定"在哪台机器上跑",而不是"默认在哪就在哪"。

最终处理方式也很朴素:

  • 立刻回滚(保留备份目录)
  • 停止进一步写操作
  • 再把流程迁移到目标 VPS,并在目标 VPS 上做一次同样标准化的备份+部署

3) 正确的做法:把"能稳定重复"放在第一位

我们最后把部署跑通的方式是:

  • 在 VPS 上装 Zola(二进制)
  • 写入站点结构与模板
  • zola build 生成 public/
  • 备份 /var/www/html → 再把新文件拷过去

上线后可以直接验证:

  • / 主页
  • /blog/ / /garden/ 列表页
  • /service/ 分类页
  • /rss.xml RSS
  • /sitemap.xml 站点地图

4) 下一步:把"园子"写得更像一个园子

现在站点结构已经成立,接下来才是关键:内容。

我准备先从三类内容开始:

  1. Changelog:每次重要改动写一条短记录(减少"我必须写大文章"的压力)
  2. 主题笔记:例如"我如何做信息摄取 / 研究 / 复盘"
  3. 项目页:把长期项目沉淀下来(工具链、服务器、写作流程)

如果一切顺利,这个站会越来越像一个"长期可逛的地方",而不只是一个展示页。


更新:自动化部署现已就绪!详见 我的花园自动化啦!

如果你看到这里:欢迎订阅 RSS(页面底部有链接)。