Skip to content
Souloss
Go back

部署指南:多平台部署 astro-minimax

详细介绍如何将 astro-minimax 博客部署到 Cloudflare Pages、Vercel、Netlify 以及 Docker。

教程/部署 |
| 4 分钟阅读 | 1,165 字

本指南详细介绍如何将 astro-minimax 博客部署到各种平台。astro-minimax 生成静态站点,可以部署到几乎任何支持静态托管的服务。

项目形式说明

astro-minimax 支持两种项目形式,部署配置略有不同:

项目形式说明特点
Monorepo直接 clone 仓库包含多个包,适合贡献代码
CLI 创建使用 npx @astro-minimax/cli init单一项目,结构简洁

如何判断项目形式

检查项目根目录是否存在 pnpm-workspace.yaml 文件:

flowchart TD
    A[项目根目录] --> B{pnpm-workspace.yaml?}
    B -->|存在| C[Monorepo 形式]
    B -->|不存在| D[CLI 创建形式]

    C --> E[构建输出: apps/blog/dist/]
    C --> F[wrangler.toml: apps/blog/]

    D --> G[构建输出: dist/]
    D --> H[wrangler.toml: 项目根目录]

前置准备

在部署之前,确保你的博客能够在本地成功构建:

# 从项目根目录运行
pnpm run build
bash

构建产物位置

项目形式构建输出目录
Monorepoapps/blog/dist/
CLI 创建dist/

如果构建失败,请先运行 pnpm run dev 查看错误并修复。


Cloudflare Pages(推荐)

Cloudflare Pages 是推荐的部署平台,因为 astro-minimax 的 AI 聊天功能基于 Cloudflare Workers AI 实现。

Git 集成部署

  1. 将代码推送到 GitHub / GitLab
  2. 登录 Cloudflare Dashboard → Pages → 创建项目
  3. 连接 Git 仓库
  4. 配置构建设置:

Monorepo 形式

设置
框架预设Astro
构建命令pnpm run build
构建输出目录apps/blog/dist
根目录/(保持默认)
Node.js 版本22(在环境变量中设置 NODE_VERSION=22

CLI 创建形式

设置
框架预设Astro
构建命令pnpm run build
构建输出目录dist
根目录/(保持默认)
Node.js 版本22(在环境变量中设置 NODE_VERSION=22
  1. 点击 保存并部署

环境变量

如果启用了 AI 聊天功能,需要在 Cloudflare Pages 中配置:

变量说明
NODE_VERSION22(推荐)
AI_BINDING_NAMEAI Binding 名称(默认为 minimaxAI

AI Binding 配置

项目包含 wrangler.toml 文件,定义了 AI Binding:

Monorepo 形式:文件位于 apps/blog/wrangler.toml

CLI 创建形式:文件位于项目根目录 wrangler.toml

name = "astro-minimax"
pages_build_output_dir = "dist"
compatibility_date = "2026-03-12"
compatibility_flags = ["nodejs_compat"]

[ai]
binding = "minimaxAI"

[[kv_namespaces]]
binding = "CACHE_KV"
id = "your-kv-namespace-id"
toml

Cloudflare Pages 会自动识别此配置并启用 Workers AI。

compatibility_flags = ["nodejs_compat"] 启用 Node.js 兼容模式,确保 AI 功能正常运行。

自定义域名

部署成功后,在 Cloudflare Pages 设置中添加自定义域名,Cloudflare 会自动配置 SSL 证书。

环境变量配置

详细的环境变量配置步骤请参考 Cloudflare 环境变量配置指南

相关指南


Vercel

Git 集成部署

  1. 登录 Vercel → 新建项目 → 导入 Git 仓库
  2. 配置构建设置:

Monorepo 形式

设置
框架预设Astro
构建命令pnpm run build
输出目录apps/blog/dist
安装命令pnpm install
根目录.(保持默认)

CLI 创建形式

设置
框架预设Astro
构建命令pnpm run build
输出目录dist
安装命令pnpm install
根目录.(保持默认)
  1. 环境变量中设置 NODE_VERSION=22
  2. 点击 Deploy

注意事项


Netlify

Git 集成部署

  1. 登录 Netlify → 新建站点 → 导入 Git 仓库
  2. 配置构建设置:

Monorepo 形式

设置
构建命令pnpm run build
发布目录apps/blog/dist

CLI 创建形式

设置
构建命令pnpm run build
发布目录dist
  1. 环境变量中设置 NODE_VERSION=22
  2. 点击 Deploy site

netlify.toml(可选)

在项目根目录创建 netlify.toml 统一管理配置:

Monorepo 形式

[build]
  command = "pnpm run build"
  publish = "apps/blog/dist"

[build.environment]
  NODE_VERSION = "22"
toml

CLI 创建形式

[build]
  command = "pnpm run build"
  publish = "dist"

[build.environment]
  NODE_VERSION = "22"
toml

Docker

astro-minimax 支持 Docker 容器化部署。

开发环境

使用 docker-compose.yml 快速启动开发服务器:

services:
  app:
    image: node:lts
    ports:
      - 4321:4321
    working_dir: /app
    command: pnpm run dev -- --host 0.0.0.0
    volumes:
      - ./:/app
yaml
docker compose up
bash

生产环境

使用多阶段 Dockerfile 构建生产镜像:

Monorepo 形式

CLI 创建形式

# 构建镜像
docker build -t my-blog .

# 运行容器
docker run -p 80:80 my-blog
bash

静态文件托管

astro-minimax 生成纯静态文件,也可以部署到任何静态文件服务器:

GitHub Pages

  1. .github/workflows/deploy.yml 中配置 GitHub Actions:

Monorepo 形式

CLI 创建形式

  1. 在仓库 Settings → Pages 中选择 GitHub Actions 作为 Source

自有服务器

将构建输出目录内容上传到服务器的 Web 根目录:

Monorepo 形式

rsync -avz apps/blog/dist/ user@server:/var/www/html/
bash

CLI 创建形式

rsync -avz dist/ user@server:/var/www/html/
bash

部署检查清单

部署前请确认:

快速参考表

构建输出目录

项目形式构建输出目录
Monorepoapps/blog/dist
CLI 创建dist

wrangler.toml 位置

项目形式文件路径
Monorepoapps/blog/wrangler.toml
CLI 创建wrangler.toml(项目根目录)

常见问题

构建失败:找不到 pnpm

确保部署平台支持 pnpm。大多数平台需要在环境变量中指定 Node.js 版本:

NODE_VERSION=22
plaintext

搜索功能不工作

Pagefind 搜索索引在构建时生成。确保构建命令包含 pagefind --site dist 步骤(已包含在 pnpm run build 中)。

AI 聊天不工作

AI 聊天功能依赖 Cloudflare Workers AI。如果部署在其他平台,需要:

  1. ai.mockMode 设为 true(仅显示预设回复),或
  2. 配置替代的 AI API 端点


上一篇
为什么选择 astro-minimax:设计决策与技术思考
下一篇
astro-minimax 功能特性总览

相关推荐

评论区

文明评论,共建和谐社区