Localhost 与公网访问
9.4 分享场景决策指南
Tip
杀鸡不要用牛刀,更不要为了展示一把刀而买下一座山。
1. 为什么要学这个?
新手最容易陷入的误区:刚写完 "Hello World",就立刻去买一个云服务器,装 Linux,装 Nginx,搞 Docker。 结果一个月后,项目没几个人用,服务器账单却准时到了。 或者,为了给坐在隔壁的同事看一眼页面,你竟然要去跑一遍完整的 Vercel 部署流程,让他等 5 分钟。
工具选错了,这就是无效努力。当你手握 Localhost、局域网、内网穿透、正式部署这四把武器时,你需要知道什么时候拔哪把剑。
2. 核心概念:访问金字塔
层级详解
- Localhost: 只有我知道。 (闭关修炼)
- LAN (局域网): 只有办公室的人知道。 (内部联调)
- Tunnel (穿透): 只要有链接的人都知道,但随时会断。 (临时演示/回调调试)
- Deployment (部署): 世界都知道,稳定可靠。 (正式交付)
3. 解决方案 (HOW)
决策速查表
| 场景 | 推荐方案 | 理由 |
|---|---|---|
| 自己测试手机端效果 | LAN (局域网) | 速度最快,0 延迟,不需要联网。 |
| 给产品经理演示 | LAN (局域网) | 就在旁边,不仅能看,还能连着 USB 即时改代码。 |
| 给异地客户看 Demo | Tunnel (穿透) | 也就是发个链接的事,没必要为了这就去买域名、配证书。 |
| 调试 Stripe 支付回调 | Tunnel (穿透) | Webhook 需要公网 URL,这是刚需。 |
| 给用户长期使用 | Deployment | 穿透会断,局域网出不去。这时候即使花钱也是值得的。 |
决策流程图
graph TD
Start{我要给谁看?}
Start -->|只有我自己| Local[Localhost]
Start -->|旁边的同事| LAN[局域网 IP]
Start -->|异地的人| Remote{是长期访问吗?}
Remote -- 否, 只是看一眼 --> Tunnel[内网穿透]
Remote -- 是, 长期试用 --> Cloud[正式部署]
style Local fill:#ffecb3
style LAN fill:#c8e6c9
style Tunnel fill:#fff9c4
style Cloud fill:#bbdefb
4. 真实案例
Story
一张 5000 美元的"Hello World"账单
有一位计算机系的新生,跟着网上的硬核教程学习部署。 教程教他:去 AWS 开 EC2,配置负载均衡 (ELB),再开个 RDS 数据库。 他照做了,成功部署了个简单的网页。 甚至,他为了"高可用",按照教程开了 3 个实例组成的集群。 期末考试忙,他忘了关服务器。 一个月后,信用卡扣款 $5,000。
Vibe 心法: 在你有第一个付费用户之前,Serverless (Vercel/Netlify) 是你唯一的选择。 它是 Scale to Zero (从 0 起步) 的。没人访问就不收钱。 不要为了虚荣心去维护基础设施,那是烧钱的无底洞。
5. 本章小结
- 就近原则:能用局域网解决的,别上公网。
- 省钱原则:能用内网穿透解决的,别买服务器。
- 最终原则:只有当不仅要"给某人看",而是要"给所有人用"时,才去考虑正式部署。