Remix Vercel部署 #
一、准备工作 #
1.1 安装Vercel CLI #
bash
npm install -g vercel
1.2 登录Vercel #
bash
vercel login
二、项目配置 #
2.1 创建vercel.json #
json
{
"buildCommand": "npm run build",
"devCommand": "npm run dev",
"installCommand": "npm install",
"framework": "remix",
"regions": ["hkg1"],
"functions": {
"app/routes/**": {
"memory": 1024,
"maxDuration": 10
}
}
}
2.2 package.json配置 #
json
{
"scripts": {
"dev": "remix vite:dev",
"build": "remix vite:build",
"start": "remix-serve ./build/server/index.js"
}
}
三、部署流程 #
3.1 首次部署 #
bash
vercel
按照提示选择:
- 项目名称
- 部署范围
- 构建配置
3.2 生产部署 #
bash
vercel --prod
3.3 预览部署 #
每次推送到分支都会创建预览部署:
bash
vercel
四、环境变量 #
4.1 通过CLI设置 #
bash
vercel env add DATABASE_URL
vercel env add SESSION_SECRET
4.2 通过Dashboard设置 #
- 进入项目设置
- 选择 Environment Variables
- 添加变量和值
- 选择环境(Production/Preview/Development)
4.3 环境变量文件 #
创建 .env.example:
text
DATABASE_URL=
SESSION_SECRET=
PUBLIC_API_URL=
五、域名配置 #
5.1 添加域名 #
bash
vercel domains add example.com
5.2 配置DNS #
在域名服务商配置:
| 类型 | 名称 | 值 |
|---|---|---|
| A | @ | 76.76.21.21 |
| CNAME | www | cname.vercel-dns.com |
5.3 启用HTTPS #
Vercel 自动为域名配置 HTTPS 证书。
六、函数配置 #
6.1 内存配置 #
json
{
"functions": {
"app/routes/api/**": {
"memory": 3008
}
}
}
6.2 超时配置 #
json
{
"functions": {
"app/routes/api/**": {
"maxDuration": 60
}
}
}
七、缓存配置 #
7.1 静态资源缓存 #
json
{
"headers": [
{
"source": "/assets/(.*)",
"headers": [
{
"key": "Cache-Control",
"value": "public, max-age=31536000, immutable"
}
]
}
]
}
7.2 API缓存 #
在 loader 中设置:
tsx
export async function loader() {
return json(data, {
headers: {
"Cache-Control": "public, s-maxage=60",
},
});
}
八、监控和日志 #
8.1 查看日志 #
bash
vercel logs
8.2 实时日志 #
bash
vercel logs --follow
8.3 Vercel Analytics #
启用分析:
bash
vercel analytics enable
九、部署最佳实践 #
9.1 分支部署 #
main分支 → 生产环境- 其他分支 → 预览环境
9.2 部署钩子 #
在 vercel.json 中配置:
json
{
"git": {
"deploymentEnabled": {
"main": true
}
}
}
9.3 回滚部署 #
bash
vercel rollback
十、常见问题 #
10.1 构建失败 #
检查:
- Node.js 版本
- 依赖安装
- 构建命令
10.2 函数超时 #
增加超时时间或优化代码:
json
{
"functions": {
"app/routes/**": {
"maxDuration": 30
}
}
}
10.3 内存不足 #
增加内存配置:
json
{
"functions": {
"app/routes/**": {
"memory": 3008
}
}
}
十一、总结 #
本章我们学习了:
- 项目配置:vercel.json配置
- 部署流程:CLI和Git部署
- 环境变量:配置和管理
- 域名配置:添加和DNS设置
- 监控日志:查看和分析
核心要点:
- 使用 vercel.json 配置项目
- 正确设置环境变量
- 配置自定义域名
- 监控应用性能
最后更新:2026-03-28