法国 Next.js 自托管

用法国 Linux VPS 自托管 Next.js,无需 Vercel:Node.js 22 LTS、PM2、Nginx 反向代理、SSD 固态硬盘、root 权限、免费 SSL。成本可预期,性能自己说了算。

低至 每月 4.99 €

概述

起步阶段的 Next.js 项目,Vercel 依然很好用;可一旦站点月访问量迈过几十万,账单就开始变得难以预料:边缘函数、带宽、ISR 调用都要另外收费。而在 By-Hoster 自托管的 VPS 固定每月 4.99 €,足以承载绝大多数 Next.js 项目,账单不会突然跳水;面向法国或欧洲的访客,性能也不落下风。

我们为 Next.js 准备的技术栈:一台 Linux KVM VPS,用 nvm 装好 Node.js 22 LTS,用进程管理器 PM2 保障应用 7×24 小时在线,用 Nginx 作反向代理挡在 3000 端口的 Node 前面,配自动续期的 Let's Encrypt 证书,并以 SSD 固态硬盘加快构建。完整 root 权限、独享 IPv4 与 IPv6、1 Gbps 不限量带宽。兼容 App Router 与 Pages Router,支持 Next.js 14 与 15。

标准的 Next.js 部署不到半小时即可完成:git clone、npm ci、npm run build、pm2 start npm --name nextapp -- start,再配好 Nginx 和 certbot 证书。我们的文档给出完整的 Nginx 配置文件,其中妥善处理了 /_next/static/ 静态资源(长缓存)、面向 Server Components 的 HTTP 流式传输,以及 Server Actions。Route Handlers、Next.js 中间件和 ISR 都原生可用。

已含 Next.js 技术栈

Node.js 22 LTS

最新的 LTS 版本,支持到 2027 年。用 nvm 或 NodeSource 软件包一条命令即可装好。也可选 Node 20 LTS。

PM2 + Nginx 反向代理

PM2 让 Next.js 7×24 小时在线(自动重启、集群模式)。前面的 Nginx 负责 SSL、Brotli/gzip 压缩和静态资源缓存。

SSD 固态硬盘存储

Next.js 构建速度比传统机械硬盘快得多。本地 CI/CD 以及页面生成量大的站点(ISR/SSG)尤其受益。

免费 Let's Encrypt 证书

用 certbot 配置 HTTPS,每 90 天自动续期。Nginx 侧支持 HTTP/2 与 HTTP/3。

SSH root 权限

服务器完全由您掌控:Node 版本、原生模块(sharp、canvas)、定时任务、部署后脚本、与 GitHub Actions 的集成。

独享 IPv4 + IPv6

固定 IP 便于配置 DNS、把地址加入第三方接口白名单(Stripe、Sentry),以及连接托管型数据库(Neon、Supabase、PlanetScale)。

Next.js 在 By-Hoster 上的典型用法

Next.js SaaS

App Router + Server Actions + Postgres(Neon 或自建):账单比 Vercel Pro 更可预期,面向法国 / 欧洲访客的性能则不相上下。

无头电商

Next.js 搭配 Shopify / Medusa / Stripe:商品页用 ISR,即便目录里有成千上万个 SKU,表现也依旧稳当。

营销站点与博客

静态导出或 ISR:页面在构建时生成、由 Nginx 直接送出,对搜索收录和核心网页指标都很友好(LCP 低于 1 秒,INP 低于 200 毫秒)。

内部数据看板

带登录的 Next.js 内部工具:用固定 IP 的 VPS,把访问限制在企业 VPN 或 IP 白名单之内。

常见问题

在 Vercel Pro 上:每位成员每月 20 美元,再加上超额部分(函数调用、边缘请求、带宽),流量大的站点很容易冲到每月 60 至 200 美元。在 By-Hoster 上:VPS KVM Start(2 vCPU、4 GB 内存)固定每月 4.99 €;想宽裕些,用 VPS KVM Pro(4 vCPU、16 GB)也就每月 9.99 €。一年下来的差额,很快就是几千欧元。

能。从 Next.js 12 起,自托管下用 next start 就原生支持 ISR。页面会按您设定的 revalidate 在后台重新生成,缓存存放在 SSD 磁盘上的 .next/cache 里。如果跑多个实例(PM2 集群模式),请配合 Redis(可装在 VPS 上)使用自定义 CacheHandler,让各 worker 共享缓存。

视需要有三条路:一、Next.js 中间件本来就能跑在 Node 上(虽然不在边缘节点,但对法国站点而言延迟可忽略,约 5 到 15 毫秒);二、在 VPS 前面挂 Cloudflare Workers,那才是真正的边缘(每天 10 万次请求以内免费);三、A/B 测试、按地域跳转、基础鉴权这些事,Nginx 就能办,不必惊动 Node。

常见的三种做法:一、GitHub webhook 加脚本:推送即触发 git pull && npm ci && npm run build && pm2 reload nextapp;二、GitHub Actions 加 SSH:在流水线里构建,再用 rsync 同步到 VPS,做 Docker 镜像时尤其顺手;三、Docker Compose:构建镜像、推送到 GHCR,然后在服务器上执行 docker compose pull && up -d。我们的客服备有现成模板。

PM2 自带 pm2 monit(实时 CPU 与内存)和 pm2 logs。应用层监控可选 Sentry(免费额度每月 5000 条事件)、BetterStack,或自建的 Uptime Kuma。系统层指标可用 Netdata,一条命令就能看到 CPU、内存、磁盘 I/O 与网络。我们的客服另附一份监控自查清单。

有三招:一、在客户中心点几下纵向升级(从 Starter 到 Pro 再到 Business,约 30 秒中断);二、用 PM2 集群模式吃满所有 vCPU:pm2 start npm --name nextapp -i max -- start;三、在前面加一层 Nginx 缓存和免费的 Cloudflare,把 80 % 到 95 % 的静态流量挡在 VPS 之前。