198美元Vercel账单逼开发者转向24美元VPS自托管
198美元的Vercel月账单,覆盖的只是一个每月几千访客的Next.js前端、一个小型JSON API和一个Postgres数据库。作者两年间习惯了git push后自动部署,直到发票数字让他转向24美元的DigitalOcean droplet,用Dokploy重建推送部署、自动HTTPS和预览环境。
Vercel的定价模式让许多中小型项目迅速超出预算。作者描述的项目规模并不大:前端是典型的Next.js应用,月活跃访客只有几千人;后端只是一个传递JSON的小型API;数据库使用Postgres,存储的数据量也有限。两年时间里,他完全依赖Vercel的托管服务,从未操心服务器配置、证书更新或扩容问题。git push到main分支后,部署自动完成,预览环境也一键可用。这种舒适感让他忽略了成本,直到月度发票显示198美元。
这个数字远超许多开发者的心理预期。Vercel对带宽、函数调用、数据库读取等按量计费,即使流量不算高,累积的边缘函数执行、图像优化和额外存储也容易推高账单。作者反复查看发票,才确认没有异常消费。正是这次账单冲击,让他决定自托管,把控制权拿回自己手里,同时尽量保留原有开发体验。
198美元账单对应的真实资源消耗
Vercel的198美元主要来自多个隐性计费项。Next.js前端虽然访客不多,但每次SSR渲染、API路由调用都会计入函数执行次数。作者的小型JSON API虽然简单,每次请求仍可能触发边缘函数费用。Postgres数据库的读取和写入操作按行数和查询量收费,即使数据量不大,频繁的连接池和备份也会产生额外开支。
此外,Vercel的带宽费用和自定义域名SSL证书虽然基础版免费,但超出一定阈值后就开始累积。作者的项目虽然月访客只有几千,但如果包含图像优化或静态资源分发,带宽费用很容易被触发。两年舒适使用让这些费用像雪球一样滚大,最终在单月集中体现为198美元。
相比之下,传统云服务器的固定月费显得可预测得多。作者选择的DigitalOcean droplet每月24美元,包含固定CPU、内存和流量配额,不再有突发的高额函数调用账单。这让预算变得透明,也迫使开发者更仔细地审视自己的资源使用情况。Vercel适合快速验证想法,但当项目稳定后,其定价对中小团队的压力越来越明显。
24美元droplet上Dokploy实现的核心能力
Dokploy是一个专为开发者设计的自托管部署平台。它能在低配VPS上快速搭建类似Vercel的体验。作者在24美元的DigitalOcean droplet上安装Dokploy后,获得了push-to-deploy能力:代码推送到Git仓库后,平台自动拉取、构建并部署应用。
自动HTTPS是Dokploy的另一大亮点。它集成Let’s Encrypt证书管理,域名指向droplet后,HTTPS配置自动完成,无需手动申请和续期。预览环境功能也被保留:每次Pull Request都会自动生成临时环境,供团队审查代码变更。这三项能力正是作者从Vercel迁移时最看重的部分。
Dokploy的轻量设计让它能在单台droplet上高效运行。它支持Docker容器化部署,Next.js、Node.js API和Postgres都能以容器形式运行,资源隔离清晰。24美元的配置通常包含2核CPU、4GB内存和足够流量,对作者的项目规模绰绰有余。相比Vercel的按量计费,这种固定成本让长期运行更经济。
自托管如何保留原有git工作流
开发者最担心迁移后失去git push即部署的流畅感。Dokploy通过Webhook与Git平台对接,完美解决了这个问题。当代码推送到main分支时,Dokploy会自动触发构建流水线,完成依赖安装、编译和容器启动,整个过程与Vercel几乎无差别。
预览环境的保留同样关键。Dokploy支持为每个分支或PR创建隔离环境,生成临时URL供测试。开发者无需改变本地git操作习惯,只需在仓库设置中添加Dokploy的Webhook地址即可。部署日志也能在Dokploy面板中查看,排查问题时比Vercel更直接,因为所有资源都在自己的服务器上。
这种工作流保留让团队过渡成本极低。作者提到,两年养成的「推代码、喝咖啡、刷新页面看更新」的习惯得以延续。自托管后,他仍然在本地开发,代码提交后由VPS接管后续步骤。唯一增加的是初始配置Webhook的时间,但一旦完成,后续操作与Vercel完全一致。
自托管部署必须避开的四个错误
作者总结了四个常见错误,值得每一个打算自托管的开发者注意。首先是忽略资源监控。24美元droplet内存有限,如果同时运行多个容器且未设置重启策略,容易导致OOM错误。必须及早接入监控工具,设置告警阈值。
第二个错误是证书管理不当。Dokploy虽集成自动HTTPS,但域名解析和续期仍需正确配置。很多人忘记设置自动续期,导致证书过期后服务中断。第三个错误是数据库备份缺失。自托管Postgres后,不能依赖Vercel的自动备份,必须手动或通过脚本定期备份数据到对象存储。
最后一个错误是安全配置松懈。把服务直接暴露在公网却未配置防火墙、限制SSH访问或使用强密码,很容易成为攻击目标。作者建议使用Docker网络隔离关键服务,并定期更新系统和Dokploy版本。这四个错误如果避开,自托管的稳定性会大幅提升。
成本、性能与维护的实际差异
成本差异最为直观。Vercel每月198美元,而自托管droplet仅24美元,年节省超过2000美元。即使加上域名和可能的备份存储费用,总成本仍远低于Vercel。对流量不高的项目来说,这种差异能决定项目是否可持续。
性能方面,Vercel的全球边缘网络让首屏加载更快。但作者的项目在24美元droplet上运行后,响应速度差距并不明显,因为访客主要来自单一区域。数据库查询延迟甚至可能更低,因为所有服务在同一台机器上,网络跳数减少。当然,如果用户分布全球,自托管可能需要额外配置CDN,这会增加少量成本。
维护差异是自托管的最大代价。Vercel几乎零维护,而Dokploy需要开发者自己处理系统更新、安全补丁和容器监控。作者现在每周花30分钟检查日志和资源使用,远多于以前。但这种投入换来了对基础设施的完全掌控,以及不再担心突然涨价的风险。对有一定运维能力的开发者来说,这笔交易是划算的。
VPS部署的落地步骤与注意事项
中文开发者从零开始可按以下步骤操作。首先注册DigitalOcean账号,创建Ubuntu 22.04的Basic droplet,选择2核4GB配置,月费约24美元。创建后通过SSH登录,更新系统并安装Docker和Docker Compose。
接下来安装Dokploy。官方推荐使用一键安装脚本,运行后通过浏览器访问面板完成初始化。绑定自己的域名,在DNS中将域名A记录指向droplet IP。进入Dokploy项目管理,创建新项目,关联GitHub或GitLab仓库,配置构建命令和端口映射。
对于Next.js前端,设置环境变量并启用静态文件服务;API容器和Postgres容器建议分开部署,使用Docker网络连接。开启Dokploy的自动HTTPS和预览环境开关,测试git push是否触发部署。
注意事项包括: droplet流量超出后会额外收费,建议监控带宽使用;数据库密码不要硬编码在代码中,使用环境变量或秘密管理工具;定期快照droplet以防数据丢失;如果团队多人使用,需设置Dokploy的用户权限,避免误操作。中国开发者还需注意网络稳定性,可考虑使用香港或新加坡区域的droplet降低延迟。
整个部署过程通常在2-4小时内完成。初期可能遇到端口冲突或权限问题,但按照官方文档逐步排查即可解决。自托管后,开发者对整个栈拥有完整控制权,成本可控,工作流也基本不变。
通过这次迁移,作者证明了对于中小规模应用,Vercel的便利性可以用低成本VPS加开源工具替代。虽然维护负担略有增加,但长期来看节省的费用和获得的主权让这一切值得。开发者在选择托管方案时,需要根据项目阶段、团队能力和预算综合判断。自托管并非适合所有人,但对那些被高额账单困扰的项目,它提供了一条清晰的出路。
参考来源
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/ai001/post/20260904/198%E7%BE%8E%E5%85%83Vercel%E8%B4%A6%E5%8D%95%E9%80%BC%E5%BC%80%E5%8F%91%E8%80%85%E8%BD%AC%E5%90%9124%E7%BE%8E%E5%85%83VPS%E8%87%AA%E6%89%98%E7%AE%A1/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com