返回博客

Linux / 1Panel / OpenResty

CloudCone VPS 上的 1Panel 静态站部署记录

记录 OpenResty、Cloudflare、静态站缓存和发布过程。

这篇文章记录 www.sphererapids.com 从空站点到静态博客的建设过程。

项目概览

结构上,Astro 负责页面和内容集合,Markdown frontmatter 保存文章元数据,C++ 工具承担内容校验和搜索索引生成,OpenResty 只负责静态文件访问。

用途是建立一个低维护、高性能的个人兴趣记录网站。应用场景包括项目札记、阅读片段、实验记录、RSS 订阅、搜索索引和静态内容发布。

结构

运行层使用 1Panel 管理的 OpenResty。页面由 Astro 在构建期生成,发布后仅提供静态文件访问。

实现原理是把动态工作尽量放在构建期。content-check 校验文章 frontmatter,search-index 从内容 manifest 生成搜索数据,Astro 输出 HTML、RSS 和 sitemap。发布后,服务器只返回静态文件,减少运行时依赖。

缓存

HTML 保持短缓存,带 hash 的 CSS、JavaScript、图片和字体使用长缓存。

location ~* \.(css|js|webp|woff2)$ {
  add_header Cache-Control "public, max-age=31536000, immutable";
}