部署指南
ShokaX 是纯静态站点(SSG)。部署的本质是:
- 执行构建命令生成
dist/ - 把
dist/部署到任意静态托管平台或你的服务器
主题默认的构建命令是:
bun run build它会同时完成:
- Astro 站点构建
- Pagefind 搜索索引生成(因此线上搜索可用)
我该选哪种部署方式?
Section titled “我该选哪种部署方式?”- 想要最省心、Git 推送自动部署:选 Vercel 或 Netlify
- 域名已经在 Cloudflare 管理 / 想要更贴近 Cloudflare 生态:选 Cloudflare Pages
- 使用腾讯云生态 / 需要 EdgeOne:选 EdgeOne Pages
- 想完全掌控(自己的服务器、自己的 Nginx):选 私有部署
部署方式列表
Section titled “部署方式列表”| 平台 | 适合谁 | 关键点 | 文档 |
|---|---|---|---|
| Vercel | 想要开箱即用、自动化 CI/CD | 读取 vercel.json,构建命令 bun run build | 部署到 Vercel |
| Netlify | 偏好 Netlify 工作流 | 读取 netlify.toml,构建命令包含 bun install && bun run build | 部署到 Netlify |
| Cloudflare Pages | Cloudflare 用户、Pages 托管 | 配置 Build command / Output dir,确保 bun run build | 部署到 Cloudflare Pages |
| EdgeOne Pages | 腾讯云 / EdgeOne 用户 | 读取 edgeone.json,输出目录 dist | 部署到 EdgeOne Pages |
| 私有部署 | 自有服务器(Debian + 宝塔 + Nginx) | 上传 dist/,Nginx try_files,配置 HTTPS/缓存 | 私有部署(Debian + 宝塔 + Nginx) |
部署前必须确认的 3 件事
Section titled “部署前必须确认的 3 件事”1) 本地能成功构建
Section titled “1) 本地能成功构建”无论你部署到哪里,先在本地确认这两条命令没问题:
bun installbun run build2) 站点 URL(site)配置正确
Section titled “2) 站点 URL(site)配置正确”请确保 astro.config.mjs 的 site 是你的线上域名(否则 sitemap / RSS / 永久链接等可能不正确)。
如果你准备在多个平台复用同一份代码,建议把
site改为读取环境变量(各平台文档里都有示例/提示)。
3) 输出目录是 dist
Section titled “3) 输出目录是 dist”所有部署平台都应把发布目录指向 dist。
为什么 bun run dev 下搜不到内容?
Section titled “为什么 bun run dev 下搜不到内容?”开发模式不会生成 Pagefind 索引,搜索通常只能在构建产物中工作。
你可以用:
bun run buildbun run preview来本地预览“线上效果”。
津公网安备 12011402001353 号