Files
Cloud-Index/docs/guide/vercel.md

7.7 KiB
Raw Blame History

title, createTime, permalink
title createTime permalink
Vercel 部署 2025/11/09 00:26:55 /guide/deployment/vercel

Vercel 部署

在 Vercel 上快速部署 Cloud Index 的完整指南。

优势

  • 零配置部署
  • 自动 HTTPS
  • 全球 CDN 加速
  • 自动扩展
  • 免费额度充足
  • 与 GitHub 无缝集成

前置要求

  • GitHub 账户
  • Vercel 账户(注册免费账户
  • 存储后端配置R2、S3 或 GitHub

部署步骤

第 1 步Fork 项目

访问 Cloud Index GitHub 仓库,点击 "Fork" 按钮。

第 2 步:连接到 Vercel

  1. 登录 Vercel 控制台
  2. 点击 "Add New..." → "Project"
  3. 点击 "Import Git Repository"
  4. 连接 GitHub 账户
  5. 选择你 Fork 的仓库

第 3 步:配置项目

在 Import 页面:

  1. Project Name - 输入项目名称(如 cloud-index
  2. Framework - 选择 "Python" 或保持默认
  3. Root Directory - 保持默认(根目录)

第 4 步:配置环境变量

点击 "Environment Variables",添加以下变量:

基础配置:

STORAGE_TYPE = r2

R2 存储配置:

R2_ENDPOINT_URL = https://your-account-id.r2.cloudflarestorage.com
R2_BUCKET_NAME = your-bucket-name
ACCESS_KEY_ID = your_access_key
SECRET_ACCESS_KEY = your_secret_key
R2_PUBLIC_URL = https://pub-your-bucket.r2.dev

S3 存储配置:

STORAGE_TYPE = s3
S3_BUCKET_NAME = your-bucket-name
S3_REGION = us-east-1
ACCESS_KEY_ID = your_access_key
SECRET_ACCESS_KEY = your_secret_key

GitHub 存储配置:

STORAGE_TYPE = github
GITHUB_REPO_OWNER = your-username
GITHUB_REPO_NAME = your-repo-name
GITHUB_ACCESS_TOKEN = your_github_token
GITHUB_RAW_PROXY_URL = https://raw.ghproxy.com

应用配置:

FLASK_ENV = production
THUMB_TTL_SECONDS = 604800

第 5 步:部署

  1. 检查配置无误
  2. 点击 "Deploy" 按钮
  3. 等待部署完成

部署完成后Vercel 会提供一个 URLhttps://cloud-index.vercel.app

配置自定义域名

1. 添加域名

  1. 进入项目设置 → "Domains"
  2. 输入你的域名(如 cloud.example.com
  3. 点击 "Add"

2. 配置 DNS

Vercel 会提供 DNS 记录,按照说明在你的域名提供商处配置:

  • CNAME 记录指向 Vercel
  • 或使用 A 记录指向 Vercel IP

3. 验证和启用

DNS 生效后通常需要几分钟到几小时Vercel 会自动验证并启用 HTTPS。

自动部署

当你推送代码到 GitHub 时Vercel 会自动部署新版本。

触发部署

提交代码到 main 分支:

git add .
git commit -m "Update configuration"
git push origin main

Vercel 会自动开始部署。你可以在 Vercel Dashboard 中查看部署进度。

更新配置

方式一:通过 Vercel Dashboard

  1. 进入项目设置
  2. 选择 "Environment Variables"
  3. 编辑相应变量
  4. 需要重新部署时,点击 Redeploy

方式二:通过代码

在项目根目录创建 vercel.json 文件(已包含):

{
    "version": 2,
    "builds": [
        {
            "src": "app.py",
            "use": "@vercel/python"
        },
        {
            "src": "/static/**",
            "use": "@vercel/static"
        }
    ],
    "routes": [
        {
            "src": "/(.*)",
            "dest": "app.py"
        }
    ]
}

编辑后推送到 GitHubVercel 会自动重新部署。

日志查看

查看部署日志

  1. 进入项目
  2. 点击 "Deployments" 选项卡
  3. 选择相应的部署
  4. 查看 "Logs" 中的详细信息

查看实时日志

  1. 进入项目
  2. 点击 "Functions" 选项卡
  3. 选择 app.py
  4. 查看实时日志

使用 Vercel CLI

# 安装 CLI
npm i -g vercel

# 登录
vercel login

# 查看日志
vercel logs <project-url>

# 实时日志
vercel logs <project-url> --follow

性能优化

1. 启用 Edge Caching

vercel.json 中配置缓存头:

"routes": [
    {
        "src": "/static/(.*)",
        "headers": {
            "cache-control": "public, max-age=86400, immutable"
        },
        "dest": "app.py"
    },
    {
        "src": "/(.*)",
        "dest": "app.py"
    }
]

2. 优化缓存设置

增大缩略图缓存时间(在 Environment Variables

THUMB_TTL_SECONDS = 2592000  # 30 天

3. 使用 Vercel Analytics

  1. 进入项目设置
  2. 选择 "Analytics"
  3. 启用 Vercel Analytics

可以实时监控应用性能和用户行为。

监控和告警

Vercel Monitoring

在项目设置中配置告警:

  1. 进入项目 → "Settings" → "Notifications"
  2. 设置部署失败时的通知
  3. 选择通知方式Email、Slack 等)

错误追踪

Vercel 自动集成错误追踪。通过以下方式查看:

  1. 进入 "Functions" 选项卡
  2. 查看错误率和详细错误信息

限制和配额

计算

  • 免费版: 100GB-Hours/月
  • 每次冷启动 < 10 秒
  • 单个函数最大执行时间 900 秒

存储

  • 缓存: 512MB临时
  • 函数空间: 50MB 代码

带宽

  • 免费版: 100GB/月

费用估算

假设月均 1 万次请求,每次执行 500ms

  • 计算: 5,000 秒 / 1,000 = 5GB-Hours远低于 100GB 免费额度)
  • 预计费用: 免费

故障排除

部署失败

检查:

  1. vercel.json 配置是否正确
  2. requirements.txt 是否包含所有依赖
  3. Python 版本是否兼容(推荐 3.9+

环境变量未生效

  1. 确保在 Environment Variables 中正确配置
  2. 重新部署应用Redeploy
  3. 清理浏览器缓存

冷启动慢

  • Vercel 自动缓存函数以加速启动
  • 增加使用频率会自动改善冷启动时间
  • 无需手动优化

存储无法连接

检查:

  1. 环境变量是否正确
  2. 凭证是否有效
  3. 防火墙/安全组是否允许访问

缓存空间不足

清理或减少缓存:

  1. 减小缩略图生成质量
  2. 减少缓存过期时间
  3. 定期手动清理

成本优化建议

  1. 使用 Cloudflare R2 而不是 S3成本更低
  2. 启用缓存 减少存储访问次数
  3. 监控使用量 避免超限
  4. 使用付费计划 如果超过免费额度($20/月 Pro 计划)

与本地开发保持同步

拉取最新变化

git pull origin main

测试本地更改

python app.py
# 访问 http://localhost:5000

推送到 Vercel

git add .
git commit -m "Bug fix or feature"
git push origin main

Vercel 会自动检测并部署。

回滚部署

如果新部署出现问题:

  1. 进入项目 → "Deployments"
  2. 选择之前的稳定版本
  3. 点击 "Redeploy to Production"

应用会立即回滚到之前的版本。

获取帮助

总结

功能 本地 Docker Vercel
部署难度 简单 中等 简单
成本 自有服务器 中等
性能 取决于服务器 优秀
扩展性 有限 中等 自动
推荐用途 开发测试 生产环境 中小型应用

Vercel 最适合需要快速部署、无需运维的应用!🚀