AI 做的网站怎么部署上线?2026 全流程避坑指南
用 Claude Code 或 Cursor 折腾一晚上,npm run dev 一跑,浏览器里网站好好地出来了——然后你想把链接发给朋友看,发现发不出去。localhost:3000 只有你自己的电脑能打开。这是所有 vibe coding 新手都会撞上的同一堵墙:写代码 AI 全包了,部署上线却没人教。这篇讲清楚 AI 做的网站怎么部署上线:先判断你的项目属于哪一类,再选平台,最后是三步上线的实操、国内备案的真相,以及上线前必须自查的 5 件事。
先建立一个概念
「部署」的本质,就是把你电脑上跑的那个程序,搬到一台 24 小时开机、有公网 IP 的电脑上去跑。所有平台干的都是这件事,区别只在于它替你自动化了多少步骤。
第一步:先搞清楚你的项目是哪一类
不要一上来就问「用 Vercel 还是买服务器」。选平台之前必须先判断项目类型,因为这直接决定了哪些平台根本用不了。最简单的判断方法:看你的项目里有没有数据库、有没有需要保密的 API Key。
| 项目类型 | 特征 | 典型技术栈 | 部署难度 |
|---|---|---|---|
| 纯静态站 | 只有页面,没有登录、没有数据保存,刷新后数据就没了 | HTML/CSS/JS、Vite、Hugo | ★ 最简单,几乎所有平台免费 |
| 前端 + 第三方服务 | 有登录和数据,但数据库用的是别人的云服务 | React/Vue + Supabase、Firebase | ★★ 简单,注意密钥不能写进前端 |
| 全栈应用 | 自己写了后端接口,有服务端逻辑 | Next.js、Nuxt、Express | ★★★ 中等,需要平台支持服务端运行 |
| 全栈 + 自建数据库 | 还要自己跑一个 PostgreSQL / MySQL | Next.js + Prisma + PostgreSQL | ★★★★ 较复杂,数据库要单独部署和备份 |
不确定自己属于哪一类?直接问 AI。在项目目录里让 Claude Code 或 Cursor 读一遍代码:「分析这个项目的技术栈,告诉我它是纯静态站还是需要服务端运行,有没有连数据库,需要哪些环境变量」。它读完 package.json 和目录结构就能给你准确答案,比你自己猜靠谱。
五个主流平台怎么选(2026 现状)
把常见的部署去处摆在一起对比。注意最后两列——「国内能否直接访问」和「是否需要备案」是中文开发者特有的决策因素,海外教程里从来不会提。
| 平台 | 免费额度 | 付费起步价 | 适合 | 国内访问 / 备案 |
|---|---|---|---|---|
| Vercel | Hobby 免费,但仅限个人非商业项目 | Pro $20/人/月 | Next.js、React 前端与全栈,新手首选 | 部分地区不稳定;域名无需备案 |
| Cloudflare Pages / Workers | 免费额度大方,静态站每月 500 次构建 | Workers 付费计划 $5/月起 | 静态站、轻量 API,想省钱 | 速度因地区而异;无需备案 |
| Zeabur | Free 计划可管理 1 台服务器 | Dev $5/月,Pro $19/月,服务器资源另计 | 前后端+数据库一站式,支持支付宝 | 有香港等节点可选;境外节点无需备案 |
| Railway / Render | Railway 送 $5 一次性额度;Render 免费实例闲置 15 分钟休眠 | Railway 约 $1/月起按量;Render Starter $7/月 | 后端服务、定时任务 | 需自备网络条件;无需备案 |
| 国内云轻量服务器 | 无免费,但新用户促销极低 | 阿里云/腾讯云 2 核 2G 低至 38 元/年(秒杀) | 要给国内用户用、要求速度稳 | 速度最好;**必须 ICP 备案** |
Vercel 免费版有个容易踩雷的条款
Hobby 计划明确写着「仅限个人非商业项目」。挂了广告、接了推广联盟、或者拿它当接单作品集商用,被系统判定违规是会直接停站的。项目一旦沾商业性质,老老实实上 Pro($20/人/月)或者换平台。
给个简单的决策建议:做出来主要是给自己和朋友看、或者面向海外用户 → Vercel 或 Cloudflare,免费且十分钟能上线;做的是要给国内用户长期用的正经站 → 国内云服务器 + 备案,这条路麻烦但没有替代方案;中间态、想一站式带数据库又不想折腾运维 → Zeabur,能用支付宝付款这点对国内用户很友好。
最快路线:GitHub + Vercel 三步上线
如果你的项目是 Next.js / React / Vue 这类前端或全栈项目,这是目前从零到有公网地址最快的路径,全程不用碰服务器和命令行运维。前提是代码已经在 GitHub 上——如果还没有,先让 AI 帮你推上去。
# 1. 本地初始化 Git 并推到 GitHub(没做过的话)
git init
git add .
git commit -m "first commit"
# 在 GitHub 网页上新建一个空仓库,然后:
git remote add origin https://github.com/你的用户名/你的仓库名.git
git branch -M main
git push -u origin main- 1连接仓库:打开 vercel.com 用 GitHub 账号登录 → Add New Project → 选中刚推上去的仓库 → Import。
- 2配置环境变量:在 Environment Variables 区域,把本地
.env里的每一条(数据库连接串、API Key 等)逐条填进去。这一步最容易漏,漏了必定构建失败或线上报错。 - 3点 Deploy:等 1-3 分钟,构建成功后会给你一个
xxx.vercel.app的公网地址,直接就能分享。
上线之后还有个隐藏福利:以后每次 git push,Vercel 会自动重新构建部署,等于免费白送一套 CI/CD。你在本地让 AI 改完代码、推上去,几分钟后线上就更新了。想绑自己的域名,在 Project Settings → Domains 里填域名,再去域名商那里按提示改 DNS 解析即可。
ICP 备案:国内用户绕不开的一道坎
这是海外教程绝不会讲、但国内做站必须搞明白的事。判断标准其实只有一条:看服务器在哪,不看你人在哪,也不看域名在哪注册。
- 网站托管在中国内地的服务器(阿里云、腾讯云的内地机房)→ 必须完成 ICP 备案,否则会被拦截无法访问。
- 网站托管在非中国内地的服务器(Vercel、Cloudflare、香港/新加坡节点)→ 不需要备案,买了域名解析过去就能用。
- 自 2024 年起,跑在中国内地服务器上的 App 和小程序也同样需要备案,不只是网站。
- 备案是免费的,麻烦的是流程和时间,不是钱。
备案大致流程与耗时:在服务器所在的云厂商(谁提供服务器就找谁)提交主体和网站信息 → 接入商初审通常 1-3 个工作日 → 工信部短信核验需在 24 小时内完成 → 省级通信管理局终审,各省不同,通常 10-20 个工作日。整体做好等两三周的心理准备,且备案期间网站是不能对外提供服务的。另外注意,公司名称、法人、域名、服务器 IP 等信息发生变更,需要在 30 天内去更新备案信息。
新手的务实建议
先用 Vercel / Cloudflare 免备案上线,把产品跑通、验证到底有没有人用。等确定要长期做国内业务、需要稳定速度了,再迁到国内服务器走备案流程。别让备案挡住你验证想法的第一步。
上线前必须自查的 5 件事
AI 写代码的时候只管跑通,很少主动替你考虑上线后的安全和稳定性。这 5 条是 vibe coding 项目翻车最集中的地方,部署前挨个过一遍。
- 密钥没有被提交到 Git:检查
.gitignore里有没有.env。API Key 一旦推上公开仓库,会被爬虫在几分钟内扫到并盗刷,这是最贵的一个坑。 - 前端代码里没有硬编码任何密钥:所有以
NEXT_PUBLIC_、VITE_开头的环境变量都会被打包进前端、用户 F12 就能看到。数据库密码、大模型 API Key 这类绝不能用这种前缀。 - 环境变量在平台后台配全了:本地
.env有几条,部署平台的 Environment Variables 就该有几条。 - 本地能跑通生产构建:先在本地执行一次
npm run build。本地构建都过不了的代码,推上去一样过不了,在本地排错快得多。 - 数据库有备份:自建数据库一定要开自动备份。AI 生成的迁移脚本偶尔会有破坏性操作,没备份就是真丢数据。
# 上线前先在本地验证生产构建能通过
npm run build
# 检查有没有把 .env 误提交进 Git(有输出就说明中招了)
git ls-files | grep -E "^\.env"
# 如果已经误提交,立刻从版本库移除并作废该密钥
git rm --cached .env
echo ".env" >> .gitignore
git commit -m "chore: remove .env from git"密钥泄露后不要只删文件
从 Git 里删掉 `.env` 并不能挽回泄露——历史提交里还留着,而且爬虫可能已经抓走了。正确做法是:**立刻去对应平台把那把 Key 作废、重新生成一把新的**,然后才是清理仓库。
常见部署报错怎么修
本地好好的、一部署就红——这几乎是必经之路。下面是出现频率最高的几类,对症下药即可。
| 现象 | 多半是什么原因 | 怎么修 |
|---|---|---|
| 构建失败,报 Module not found | 依赖只装在本地没写进 package.json;或大小写不一致 | 本地删掉 node_modules 重装验证;Linux 区分大小写,检查 import 路径大小写 |
| 构建成功但页面白屏 / 500 | 环境变量没在平台配置,运行时取到 undefined | 去平台后台补齐所有环境变量,然后重新部署一次(改完变量必须重新部署才生效) |
| 数据库连不上 | 连接串还是 localhost;或云数据库没放行访问来源 | 换成云数据库的公网连接串,并在数据库控制台把访问 IP 白名单放开 |
| 接口 404 或函数超时 | 平台不支持该运行时,或免费版函数执行时间超限 | 确认平台是否支持服务端运行;长任务拆短,或换到能常驻的服务器方案 |
| Cloudflare 上 Next.js 跑不起来 | 缺少 Node 兼容配置 | 使用 @opennextjs/cloudflare 适配器,并开启 nodejs_compat 兼容性标志、compatibility_date 设为 2024-09-23 或更晚 |
最高效的排错方式:把部署平台的完整构建日志复制下来,整段丢给 Claude Code 或 Cursor,让它对照你的项目代码定位。报错日志里通常已经写明了具体哪一行、缺哪个变量,AI 读日志比人快,且能直接给出改法。
让 AI 全程帮你部署:一段可直接用的提示词
部署这件事其实完全可以交给 AI 编程工具代劳。在项目根目录打开 Claude Code、Codex 或 Cursor,把下面这段发给它,它会读你的真实代码给出针对性方案,而不是泛泛的教程。
请帮我把这个项目部署上线,按以下顺序来:
1. 先读代码,告诉我这是纯静态站、全栈应用还是需要独立数据库,
并列出所有必需的环境变量(从 .env.example 和代码里的 process.env 汇总)。
2. 检查上线安全隐患:.env 是否被 .gitignore 忽略、
有没有密钥被硬编码在源码里、有没有敏感变量用了 NEXT_PUBLIC_ 前缀。
3. 基于项目实际情况,推荐最合适的部署平台并说明理由。
我的用户主要在国内,请把访问速度和是否需要备案一并考虑进去。
4. 先在本地跑一次生产构建验证能通过,构建失败就修到通过为止。
5. 给出这个平台的具体部署步骤,环境变量要逐条列清楚。
每一步做完先告诉我结果,等我确认再继续下一步。为什么要加最后那句
「每步等我确认」能防止 AI 一口气改一堆配置、把本来能跑的项目改坏。部署阶段动的都是环境配置和构建脚本,出错影响面比写业务代码大,宁可慢一点。
会用 AI 写代码只是第一步,能把东西真正交付到用户手里才算完整闭环。部署、环境隔离、密钥管理、数据备份这些工程环节,恰恰是 AI 不会主动提醒、却最容易让项目翻车的地方。如果你想系统地补齐从「做出来」到「能上线、能维护」的这段能力,欢迎来 IMAI 看看我们的 AI 编程实战课程,我们会带着你把一个项目完整地送上线。
想系统学会用 AI 编程,从入门到做出真实产品?
查看系统课程