この記事では、www.sphererapids.com を空のホスト設定から静的ブログへ構築した過程を記録します。
プロジェクト概要
Astro がページと content collection を生成し、Markdown frontmatter が記事 metadata を保持します。C++ ツールが content 検査と search index 生成を行い、OpenResty は静的ファイルだけを配信します。
用途は、低保守で高性能な個人的な興味の記録サイトを作ることです。プロジェクトメモ、読書の断片、実験記録、RSS、検索 index、静的コンテンツ公開に向いています。
構成
実行層は 1Panel 管理の OpenResty です。Astro がビルド時に HTML、RSS、sitemap を生成します。content-check が frontmatter を検査し、search-index が manifest から検索 index を作ります。
公開後、サーバーは静的ファイルだけを返すため、実行時依存を少なく保てます。
キャッシュ
HTML は短いキャッシュにし、hash 付きの CSS、JavaScript、画像、フォントは長い immutable キャッシュにします。
location ~* \.(css|js|webp|woff2)$ {
add_header Cache-Control "public, max-age=31536000, immutable";
}