Vercel 部署
推荐场景: 最快部署,零服务器管理
架构
┌─────────────────────────────────────────────────────────────┐
│ Vercel Edge │
│ │
│ ┌──────────────────┐ ┌──────────────────┐ │
│ │ Edge Network │ │ Serverless Fns │ │
│ │ (CDN + SSL) │ │ (API 路由) │ │
│ └────────┬─── ──────┘ └────────┬─────────┘ │
│ │ │ │
│ └───────────┬───────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────┐ │
│ │ Next.js App │ │
│ │ (自动部署) │ │
│ └──────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ PostgreSQL │ │ Redis │
│ (Neon) │ │ (Upstash) │
└─────────────┘ └─────────────┘
前置要求
- GitHub/GitLab/Bitbucket 账号
- Vercel 账号(有免费套餐)
- 包含 Next.js 项目的仓库
部署步骤
1. 连接仓库
- 访问 vercel.com 并登录
- 点击 "Add New Project"
- 导入你的 Git 仓库
- 选择包含 Mountify 的仓库
2. 配置项目
框架预设: Next.js(自动检测)
构建设置:
Build Command: npm run build
Output Directory: .next
Install Command: npm ci
3. 环境变量
在 Vercel 仪表盘添加所有环境变量:
| 变量 | 值 |
|---|---|
DATABASE_URL | postgresql://... |
AUTH_SECRET | 你的密钥 |
NEXTAUTH_URL | https://your-project.vercel.app |
STRIPE_SECRET_KEY | sk_live_... |
STRIPE_WEBHOOK_SECRET | whsec_... |
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY | pk_live_... |
UPSTASH_REDIS_REST_URL | https://... |
UPSTASH_REDIS_REST_TOKEN | ... |
GOOGLE_CLIENT_ID | ... |
GOOGLE_CLIENT_SECRET | ... |
RESEND_API_KEY | re_... |
CLOUDINARY_CLOUD_NAME | ... |
CLOUDINARY_API_KEY | ... |
CLOUDINARY_API_SECRET | ... |
提示: 使用"Add from .env"按钮可以粘贴整个
.env.production文件
4. 部署
点击 "Deploy" 等待构建完成。
你的应用现在上线了:https://your-project.vercel.app
自定义域名
1. 在 Vercel 添加域名
- 前往 Project Settings → Domains
- 添加你的域名:
yourdomain.com - Vercel 会显示需要配置的 DNS 记录
2. 配置 DNS
在域名注册商添加以下记录:
| 类型 | 名称 | 值 |
|---|---|---|
| A | @ | 76.76.21.21 |
| CNAME | www | cname.vercel-dns.com |
3. 更新环境变量
更新 NEXTAUTH_URL 为你的自定义域名:
NEXTAUTH_URL=https://yourdomain.com
4. 更新 OAuth 重定向 URI
在 Google Cloud Console 添加:
https://yourdomain.com/api/auth/callback/google
5. 更新 Stripe Webhook
在 Stripe 仪表盘更新 webhook 端点:
https://yourdomain.com/api/webhooks/stripe