部署到 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」按钮开始部署
这一步可以先填写环境变量,也可以直接点击「Deploy」按钮开始部署,等部署完成在设置页面填写环境变量
deploy 成功后,进入 settings 页面,打开 Environment Variables 填写环境变量
更新了环境变量后需要重新 deploy 才会生效
再打开 Domains 页面,点击「Add Domain」按钮,先添加不带「www」的域名
先不用配置 DNS,等添加了「www」域名后,再一起配置。
然后到 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」
提示:
使用 Vercel 部署,必须选择「Full (Strict)」,否则会出现多次重定向,导致无法访问
限制,你可以在生产地址打开你的 SaaS 产品了。
如果想用 Docker 部署
如果你不想用 Vercel 部署,而且想用 Docker 部署,那么需要做一点小修改:全局搜索 export const runtime = "edge"
,并将其注释掉。因为这一行代码是 edge runtime 的特性,Docker 部署是基于 Node runtime。