Vercel vs Hetzner VPS (self-host) 对比

Git push 之后自动管理一切的托管平台

VS
Hetzner VPS (self-host)

固定月费的服务器,完全掌控,完全担责

9 分钟阅读DevOps

快速结论

没有绝对的赢家,这是两种不同的责任分配模式。如果流量呈突发性、团队缺乏 DevOps 能力,Vercel 的自动扩容值回票价。如果流量可预测且处于中等水平、并且已经具备 systemd/nginx/Cloudflare 的运维习惯,Hetzner + Cloudflare 能让账单保持固定,并在数据合规方面更具优势。分水岭在于带宽与 ISR 写入量——先实测一个月,再做决定。

VercelHetzner VPS (self-host)
阅读完整结论

评分对比

图表加载中…

详细评分

详细评分: Vercel Hetzner VPS (self-host) ——按类别打分,满分 10 分
分类VercelHetzner VPS (self-host)
性能
8/10
7/10
学习难易度
9/10
5/10
生态系统
9/10
7/10
社区
8/10
7/10
就业市场
7/10
7/10
面向未来
8/10
8/10

优缺点

Vercel

优点

  • 构建、TLS、CDN 分发和回滚完全自动化
  • 自动扩容——无需容量规划
  • 每个 PR/分支都自动提供预览部署
  • ISR/图片优化/代理零配置即可运行
  • 通过 Fluid Compute 实现按区域的 Active-CPU 计费
  • 内置 Instant Rollback(即时回滚)功能
  • 作为 Next.js 的开发方,享有第一时间的兼容性

缺点

  • 随着流量增长,账单项目(带宽、边缘请求、ISR 写入)可能成倍增加
  • 虽然提供 Bot Protection 和 AI 机器人托管规则集,但默认是关闭的——不主动开启,机器人流量将按正常费率计费
  • 七条独立的计费维度同时生效;Spend Management 支出上限每隔几分钟才检查一次,因此暂停并非实时生效
  • 函数/ISR 区域数量按套餐受限(Hobby 仅 1 个区域,Pro 为 5 个区域)
  • 各区域价格差异(快速数据传输、Sandbox)透明但较为复杂
  • 存在 Vercel 特有的架构性收费项目,例如 Global Config 的读写次数

最适合

流量呈突发性/难以预测的项目缺乏 DevOps 能力的小团队/独立开发者需要频繁预览部署的团队工作流需要全球多区域边缘分发的应用快速发布 MVP 与原型

Hetzner VPS (self-host)

优点

  • 固定月费——按租用付费而非按用量付费,预算可预测
  • 流量/ISR 写入量增加时,边际成本不会上升
  • 德国/芬兰数据中心原生符合 GDPR,并通过 ISO/IEC 27001 认证
  • 状态化防火墙免费提供,已包含在 VPS 价格中
  • 提供 Docker、WordPress、Nextcloud、GitLab 等免费一键安装应用
  • 可通过 REST API + hcloud CLI + Go/Python 官方库实现完全自动化
  • Next.js 的 standalone/Docker 部署支持全部功能(官方文档确认)

缺点

  • TLS、反向代理、安全补丁、进程管理完全由你自己负责
  • 没有自动扩容——容量提升需要手动进行(纵向或横向)
  • ISR 缓存默认绑定在单实例的本地磁盘上(多实例场景需要共享缓存处理器)
  • 2026 年经历了两次涨价——专用 vCPU(CCX/CPX)系列在部分配置下涨幅达 113%-175%
  • 若未安装 sharp,Image Optimization 可能运行缓慢且占用大量内存
  • 备份、恢复演练和监控都是需要你自行搭建的独立职责

最适合

流量可预测、中高流量、对预算敏感的项目已经具备 systemd/nginx/Cloudflare 运维经验的团队需要在 KVKK/GDPR 框架下完全掌控数据存放位置的应用单实例部署即可满足需求的作品集/博客/中等规模 SaaS优先考虑长期成本可预测性的预算方案

代码对比

Vercel
# Vercel —— 零配置 Next.js 部署 + 环境变量 + Edge Config 示例

# 1) 在项目根目录通过 vercel.json 设置函数区域和 cron 任务
{
  "regions": ["fra1"],
  "crons": [
    { "path": "/api/cron/revalidate", "schedule": "0 */6 * * *" }
  ]
}

# 2) 使用 CLI 部署(构建+TLS+CDN 自动完成)
npx vercel --prod

# 3) 为降低 ISR 写入单元(1 单元 = 8 KB,无内含配额)的成本,
# 根据流量调整 revalidate 时间
export const revalidate = 3600; // 每小时重新生成一次

# 4) 为减少 Fast Origin Transfer,
# 强制将函数输出缓存为静态内容
export async function GET() {
  return Response.json(
    { data: "ok" },
    { headers: { "Cache-Control": "public, s-maxage=600" } }
  );
}
Hetzner VPS (self-host)
# Hetzner VPS —— Next.js standalone 自托管 + systemd + nginx

# 1) next.config.js —— standalone 输出模式(官方自托管指南)
module.exports = {
  output: "standalone",
};

# 2) 构建 + 复制 standalone 所需文件
npm run build
cp -r .next/static .next/standalone/.next/static
cp -r public .next/standalone/public

# 3) systemd unit —— 进程管理(以 portfolio-ssr.service 为例)
[Unit]
Description=Next.js standalone server
After=network.target

[Service]
Type=simple
User=portfolio
WorkingDirectory=/var/www/app/.next/standalone
ExecStart=/usr/bin/node server.js
Restart=on-failure
Environment=PORT=4000
NoNewPrivileges=true
ProtectHome=true

[Install]
WantedBy=multi-user.target

# 4) nginx 反向代理(Next.js 官方建议)
server {
  listen 443 ssl;
  server_name example.com;
  location / {
    proxy_pass http://127.0.0.1:4000;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

# 5) 安装 sharp —— Image Optimization 的必需依赖
npm install sharp

结论

没有绝对的赢家,这是两种不同的责任分配模式。如果流量呈突发性、团队缺乏 DevOps 能力,Vercel 的自动扩容值回票价。如果流量可预测且处于中等水平、并且已经具备 systemd/nginx/Cloudflare 的运维习惯,Hetzner + Cloudflare 能让账单保持固定,并在数据合规方面更具优势。分水岭在于带宽与 ISR 写入量——先实测一个月,再做决定。

获取免费咨询
常见问题

常见问题

具体比例取决于流量和 ISR 写入量,但结构性差异很明确:Vercel Pro 基础费用为每月 $20,外加按用量计费的附加费用(快速数据传输 $0.15+/GB、边缘请求每 100 万次 $2、ISR 写入每 100 万个写入单元 $4);而 Hetzner VPS 只收取固定的月租,只要不超过附带的流量配额就不会产生额外费用。如果你的带宽/ISR 写入量较低,差距可能不明显;一旦用量上升,Vercel 的账单会成倍增长,而 Hetzner 保持固定。也要把 2026 年 Hetzner 的两次涨价(尤其是 CCX/CPX 系列)计算在内,结合自己的实际流量来核算两边的成本。

相关博客文章

查看全部文章
全部对比