Vercel 部署指南
本文档详细说明了如何将 AiPan NetDisk Search 项目部署到 Vercel 平台。
1. 准备工作
1.1 Vercel 账号准备
- 访问 Vercel 官网
- 使用 GitHub 账号登录或注册新账号
- 如果是新账号,完成邮箱验证
1.2 项目准备
- 确保你的项目已经推送到 GitHub 仓库
- 确保项目根目录包含以下文件:
vercel.json
(已配置)
package.json
.env.example
2. 部署步骤
2.1 导入项目
- 登录 Vercel 控制台
- 点击 “Import Project” 或 “New Project”
- 选择你的 GitHub 仓库
- 如果没有看到你的仓库,点击 “Configure GitHub App” 添加仓库访问权限
2.2 配置部署选项
- 项目名称:输入你想要的项目名称
- Framework Preset:选择 “Nuxt.js”
- Root Directory:保持默认(如果你的项目在根目录)
2.3 环境变量配置
在 Vercel 项目设置中配置以下环境变量:
# 数据库配置(PostgreSQL)
DATABASE_URL="postgresql://username:password@host:5432/database_name"
DATABASE_SCHEMA="public"
SHADOW_DATABASE_URL="postgresql://username:password@host:5432/shadow_database_name"
# 管理员配置
ADMIN_USER="admin"
ADMIN_PASSWORD="your_password"
ADMIN_EMAIL="admin@example.com"
# JWT配置
JWT_SECRET="your_jwt_secret"
# 其他必要的环境变量
注意:
- 确保使用生产环境的 PostgreSQL 数据库 URL
- 数据库需要支持 Prisma 的所有功能,建议使用:
- 所有密码和密钥都要使用强密码
- 不要使用开发环境的配置
2.4 数据库迁移
在首次部署前,需要确保数据库已经完成迁移:
- 本地运行迁移命令:
# 确保本地环境变量配置正确
npx prisma migrate deploy
- 或者在部署后通过 Vercel CLI 运行:
vercel env pull .env.production
npx prisma migrate deploy
2.5 部署配置
- 构建命令:
npx prisma generate && npm run build
- 输出目录:
- Node.js 版本:
- 在项目设置中将 Node.js 版本设置为 20.18.0
- 数据库连接:
- 确保数据库允许来自 Vercel 服务器的连接
- 如果使用外部数据库,配置适当的防火墙规则
- 建议使用连接池优化性能
3. 部署
- 点击 “Deploy” 开始部署
- 等待部署完成
- 部署完成后,Vercel 会提供一个默认域名(例如:your-project.vercel.app)
4. 部署后配置
4.1 自定义域名(可选)
- 在项目设置中点击 “Domains”
- 添加你的自定义域名
- 按照 Vercel 的说明配置 DNS 记录
4.2 环境变量更新
如果需要更新环境变量:
- 进入项目设置
- 点击 “Environment Variables”
- 添加或修改环境变量
- 重新部署项目以应用更改
4.3 自动部署
默认情况下,Vercel 会:
- 自动部署 main/master 分支的更改
- 为每个 PR 创建预览部署
- 可以在项目设置中修改这些行为
5. 监控和维护
5.1 部署监控
- 查看部署状态和日志
- 监控项目性能
- 查看访问分析
5.2 常见问题处理
- 部署失败:
- 检查构建日志
- 验证环境变量配置
- 确认依赖项版本兼容性
- 性能问题:
- 使用 Vercel Analytics 监控性能
- 检查数据库连接
- 优化API响应时间
5.3 回滚部署
如果新部署出现问题:
- 在 Deployments 页面找到之前的稳定版本
- 点击 “…” 菜单
- 选择 “Promote to Production”
6. 最佳实践
- 环境变量管理:
- 使用不同的环境变量用于开发和生产
- 定期更新敏感信息
- 不要在代码中硬编码敏感信息
- 部署策略:
- 使用 Git 分支进行功能开发
- 在合并到主分支前测试预览部署
- 保持依赖包更新
- 监控和日志:
7. 注意事项
- 数据库注意事项:
- 确保 PostgreSQL 数据库版本兼容(建议 12+)
- 定期备份数据库
- 监控数据库连接数
- 设置适当的连接池大小
- 考虑使用 Prisma Accelerate 优化性能
- 环境变量:
- 所有必需的环境变量都已配置
- 数据库连接字符串格式正确
- 生产环境使用独立的数据库
- API和数据模型:
- 所有 Prisma 模型都已正确迁移
- API 路由正确配置
- CORS 设置适当(已在 vercel.json 中配置)
- 性能优化:
- 使用适当的数据库索引
- 优化查询性能
- 考虑使用缓存策略
- 监控和日志:
- 监控数据库查询性能
- 设置数据库告警
- 记录关键操作日志
如遇到问题,请查看:
- Vercel 部署日志
- Prisma 错误日志
- 数据库日志
- 项目 GitHub Issues
- Vercel 文档中心