把 Astro 博客部署到 Vercel
从本地仓库到线上域名的完整流程,以及几个容易踩的坑。
静态站部署到 Vercel 几乎是零配置的,但有几个地方容易卡住,记一下。
前置检查
推代码之前,先在本地确认能构建成功:
npm install
npm run build
dist/ 目录生成出来且没有报错,说明项目本身没问题。构建失败的话,Vercel 上只会看到一片红,排查起来更麻烦。
接入流程
- 把代码推到 GitHub / GitLab
- 打开 vercel.com,用同一个 Git 账号登录
- Import Project,选中仓库
- 框架预设会自动识别成 Astro,构建命令
npm run build、输出目录dist都是自动填好的 - 点 Deploy,等一两分钟
之后每次 push 都会自动触发部署。开 PR 会生成一个独立的预览地址,合并进 main 才上生产。
必须改的一处配置
astro.config.mjs 里的 site 字段:
export default defineConfig({
site: 'https://your-domain.com',
});
它决定了 RSS 和 sitemap 里生成的绝对链接。忘记改的话,订阅源里的链接会指向错误地址。
关于国内访问
*.vercel.app 这个域名在国内直连经常不通。正式用的话:
- 绑一个自己的域名(Vercel 后台加一条 DNS 记录即可,SSL 自动签发)
- 面向国内用户的站点,建议改用 Cloudflare Pages 或 GitHub Pages
免费额度
Hobby 套餐给 100GB 流量 / 月、1M 边缘请求,个人博客完全够。但它的条款禁止商用,接了广告或者挂了公司业务就得升 Pro。
另外记得在后台 Spend Management 里设一个消费上限,防止哪天流量异常账单失控。