上线部署
域名、备案、部署,以及上线前的检查清单。
国内上线的关键路径:备案
面向国内用户就必须 ICP 备案。
这是整个项目里唯一不能靠加班加速的环节,通常 7–20 个工作日。 所以它应该是你第一个启动的事,而不是做完产品才想起来。
需要准备三样:
- 国内主体 —— 个体工商户或公司营业执照。没有的话,个体工商户线上就能办,一般 1–3 天
- 域名 —— 在支持备案的注册商注册(阿里云、腾讯云最省事)。国外注册商的域名要先转入
- 国内服务器 —— 作为备案接入商,最低配就行。备案必须挂在它名下
备案下来之前,可以先部署到海外节点用临时域名跑,开发不受影响。
部署选型
| 方案 | 适合 | 说明 |
|---|---|---|
| 腾讯云 / 阿里云轻量 + Docker | 国内正式上线 | 备案必须挂国内服务器 |
| Zeabur | 国内可用,省心 | 有国内节点,部署简单 |
| Vercel | 出海 | 国内访问不稳定,且不能备案 |
国内部署的五个坑
这几条每一条都会让你排查半天,提前避掉:
1. 不要用 Google Fonts
构建期要连 Google 拉字体,国内 CI 或服务器上会超时甚至直接失败。 中文字库本身也不适合网络加载(动辄几 MB),系统字体栈才是正解。
2. 不要用 Resend 发信
对 QQ / 163 / 126 邮箱送达率很差,而国内用户绝大多数用这几个。 改用腾讯云 SES 或阿里云邮件推送。
3. 数据库要跟服务器同区
别用 Neon / Supabase 这类海外托管库配国内服务器, 跨境延迟会让每个请求慢几百毫秒,用户能明显感觉到卡。
4. 统计别用 Google Analytics
加载慢,还可能被拦。自建 Umami 更合适,数据也在自己手里。
5. 中文搜索要单独处理
大部分搜索方案的默认分词器按空格切词,中文会整段当成一个 token, 搜索基本失效。必须挂中文分词器。
上线前检查清单
- 移动端打开正常,按钮点得到
- 未登录访问内页有正确跳转,不是报错
- 404 / 500 页面不是白屏
- favicon、OG 图、页面标题都有
- sitemap.xml 和 robots.txt 可访问
- 接口报错不会把堆栈信息吐给用户
- 有一个能收到反馈的入口(邮箱或微信都行)
- 环境变量里的密钥没有提交进仓库
上线不是终点
上线那天不会有人来。这很正常,不代表产品不行。
上线只是让你具备了被使用的资格。真正的工作从下一章开始。
本章动作
把链接发给 5 个人,观察他们第一次打开时卡在哪里。
不要问"你觉得怎么样"——所有人都会说"挺好的"。 看他们的手停在哪里,比听他们说什么有用。