Menu

部署到 Vercel

我尝试过许多部署平台,最终还是建议使用 Vercel 部署,至少对于初学者,应该使用 Vercel 部署,这样可以减少大量的无回报工作。

除了 Vercel,我建议可以尝试 Dokploy 或者 Coolify,这两个工具是使用 Docker 部署的,也就是无法 edge runtime 的特性。

我不建议初学者尝试 CloudFlare 部署,主要原因有2个:

  • CloudFlare 只有 Edge runtime,所有服务端代码都要指定使用 edge runtime 才能运行
  • CloudFlare 的 Edge runtime 部分重要特性不如 Vercel,例如超时时间,CloudFlare 只有10秒,而 Vercel 有300秒,10秒根本无法完成 AI 图片和视频的生成,甚至很多文本对话都无法完成

Vercel 部署流程

注册 Vercel 后,找到 「New Project」按钮开始部署

New Project

这一步可以先填写环境变量,也可以直接点击「Deploy」按钮开始部署,等部署完成在设置页面填写环境变量

Deploy

deploy 成功后,进入 settings 页面,打开 Environment Variables 填写环境变量

Environment Variables

更新了环境变量后需要重新 deploy 才会生效

redeploy

再打开 Domains 页面,点击「Add Domain」按钮,先添加不带「www」的域名

Add Domain

Add Domain

Add Domain

先不用配置 DNS,等添加了「www」域名后,再一起配置。

Add Domain

Add Domain

然后到 CloudFalre 配置 DNS,分别添加 A 记录:

A 记录:
your-domain.com -> 76.223.126.88
开启 Proxy
 
CNAME 记录:
www.your-domain.com -> cname-china.vercel-dns.com
开启 Proxy

为什么不用 Vercel 提供的解析地址?因为 Vercel 提供的解析地址在中国无法访问,而上面提供的解析地址,在中国可以访问,没人不想要中国市场吧。

配置 CloudFlare 的 SSL/TLS

在 CloudFlare 的 SSL/TLS 页面,选择「Full (Strict)」,并开启「Always Use HTTPS」

SSL/TLS

提示:

使用 Vercel 部署,必须选择「Full (Strict)」,否则会出现多次重定向,导致无法访问

always use https

限制,你可以在生产地址打开你的 SaaS 产品了。

如果想用 Docker 部署

如果你不想用 Vercel 部署,而且想用 Docker 部署,那么需要做一点小修改:全局搜索 export const runtime = "edge",并将其注释掉。因为这一行代码是 edge runtime 的特性,Docker 部署是基于 Node runtime。