无服务器部署与 CI CD 自动化
11.6 EdgeOne部署实战
Tip
世界上最遥远的距离,不是生与死,而是你在 Vercel,我在北京。
1. 为什么要学这个?
国情特殊: Vercel 虽然有全球边缘节点,但在中国大陆的节点(如香港)经常因为种种原因被 DNS 污染或限速。 现象: 你的 Vercel 站点在纽约秒开,但在北京加载需要 10 秒,甚至白屏。 结论: 如果你的目标用户主要在中国大陆,你必须使用国内的 CDN/Serverless 方案。腾讯云 EdgeOne 是目前 Next.js 兼容性最好的国内平台。
2. 核心概念:ICP 备案与边缘
1. ICP 备案 (通行证)
在国内做网站,绕不开备案。
- 没有备案,就不能使用国内 CDN。
- Vercel 的免费域名
.vercel.app无法备案。 - 代价:你需要购买一个域名,并花 10-20 天走完工信部备案流程。
2. EdgeOne (顺丰特快)
- Vercel: 像 FedEx。全球很强,但进中国要清关,有时候卡在海关。
- EdgeOne: 像顺丰。在中国有几千个网点,不用清关,直接送到家门口。
3. 解决方案 (HOW)
步骤一:准备工作
- 买域名: 腾讯云/阿里云 (
your-name.com)。 - 备案: 主要是实名认证,拍照上传,等待管局审核。这是最耗时的一步,但为了速度必须做。
步骤二:部署到 EdgeOne
EdgeOne 推出了 Web Hosting (页面托管),操作体验和 Vercel 几乎一样:
- 进入 EdgeOne 控制台。
- 点击 "站点列表" -> "添加站点"。
- 关联你的 GitHub 账号。
- 选择 Next.js 框架,点击部署。
步骤三:DNS 切割
EdgeOne 会给你两个 NS 地址(如 ns1.teo.com)。
你需要去你的域名注册商那里,把 DNS 服务器改成这两个。
这样,你的域名解析权就交给了 EdgeOne,它会智能地把用户导向最近的节点。
架构对比图
graph TD
User["国内用户"] -->|"请求"| DNS{DNS 解析}
DNS --"Vercel (慢)"--> US["美国/香港节点 (Vercel)"]
DNS --"EdgeOne (快)"--> CN["国内边缘节点 (EdgeOne)"]
CN --"回源 (如果未命中)"--> Origin["源站/Region"]
style US fill:#ffcdd2,stroke:#c62828,stroke-dasharray: 5 5
style CN fill:#c8e6c9,stroke:#2e7d32
4. 真实案例
Story
一夜破产的风险
并不是危言耸听。国内云厂商的 CDN 大多是按量计费且默认无上限。 某独立开发者把图片放在对象存储+CDN 上,域名没有设置宽带封顶。 结果因为一张热图被盗链(有人写脚本刷他的图),一晚上刷了 50TB 流量。 一觉醒来,欠费 2 万块人民币。
Vibe 心法: 免费的 Vercel 把大家惯坏了。 在使用国内商业云服务时,第一件事不是写代码,而是去后台设置 "带宽封顶" (Bandwidth Cap) 和 "告警阈值"。 保护好你的钱包,它是你创业的最后一道防线。
5. 本章小结
- 备案是门票:想在国内快,先花两周搞备案。
- EdgeOne 是首选:目前对 Next.js 支持最友好的国产边缘。
- 风控意识:一定要设流量上限!一定要设流量上限!