返回

Next.js 主机:在固定价格的 VPS 上通过 Git 部署

这个 Next.js 主机方案会把您的应用从 GitHub 仓库部署到您自己的 VPS 上:Coolify 部署面板已经装好,您连接仓库,之后每次 git push 都会通过 HTTPS 让新版本上线。您只需支付固定的月费,请求、构建分钟数和流量都不另外收费。无论代码是 AI 编程工具写的还是您自己写的,用法都一样,root 权限归您。

您的网站有多大?

合计$6.89/月

价格含增值税。

RAM 和 CPU 可随时升级或降配。磁盘只能增大,建议从小配置开始。

您的 Next.js 服务器上安装什么?

  • Coolify 4.6.0,一个开源面板,从您的 GitHub 仓库构建并部署结果
  • 能识别 Next.js 的 Railpack 构建工具;Coolify 将它标记为 beta,同时也可以选择 Dockerfile
  • Docker 和 Traefik 反向代理,负责获取并续期 HTTPS 证书
  • 现成的管理员账户,已跳过欢迎向导并关闭了公开注册
  • sslip.io 地址,所以在添加域名之前一切都能通过 HTTPS 打开
  • 2 GB 交换空间,防火墙开放 22、80、443、6001、6002 和 8000 端口

Next.js 需要多大的配置?

Next.js 没有官方的 RAM 数值,对内存的要求更多取决于构建,而不是运行中的应用。在我们的真实服务器测试中,配置为 4 GB 和 2 核时,一个约有 85 个包的 AI 聊天应用大约用了 3.7 分钟完成构建,内存峰值达到 3.5 GB,用到了交换空间,并占用了 18 GB 磁盘。在 2 GB 时,这个应用在 TypeScript 检查阶段内存不足,不过一个小型示例通过了。请从 4 GB 开始,包很多的项目可以考虑 8 GB。RAM 和 CPU 之后可升可降,磁盘只能增大。

用途配置价格选择
新网站 4 GB RAM · 2 vCore · 60 GB NVMe $6.89/月
成长中的网站 8 GB RAM · 4 vCore · 120 GB NVMe $13.62/月
访问量大的网站 16 GB RAM · 8 vCore · 200 GB NVMe $25.15/月

适合谁?

  • 发布 Next.js 应用的人,无论是手写的还是用 AI 编程工具做的
  • 宁愿事先知道月费、也不想看着按量账单越涨越高的人
  • 带有队列 worker、WebSocket 或长时间 AI 响应的应用
  • 把数据库和应用放在同一台服务器上的项目

下单之后会发生什么?

  1. 设置好配置并完成付款。服务器启动后,Coolify 会自行安装。在我们的真实服务器测试中,这大约用了 12 分钟。
  2. 在面板的“我的服务器”中打开您的服务器。用“概览”标签页中的“面板地址”“邮箱”和“密码”三行登录 Coolify。
  3. 在 Projects 页面按 New resource。公开仓库请选择 Public Git Repository 并输入地址。
  4. 私有仓库请在 Private Keys 页面生成密钥,把公钥添加到 GitHub 的 Deploy keys,然后选择 Private Git Repository (with Deploy Key)。
  5. 在 Environment Variables 页面填入变量,然后按 Deploy。Domains 页面有一个 HTTPS 测试地址,您自己的域名也在这里添加。
  6. 把应用 Webhooks 页面中的地址和密钥,填入 GitHub 上仓库的 Webhooks 设置。此后每次 git push 都会上线。

每台服务器都包含

  • 价格含每日备份
  • 不限流量
  • 完整 root 权限
  • 之后可升级或降配 RAM 和 CPU,并扩大磁盘
  • 位置:Istanbul · IST-1。

须知

  • 以 NEXT_PUBLIC_ 开头的变量会在构建时写入浏览器代码。修改后请按 Redeploy,并且绝不要给模型密钥或支付密钥加这个前缀。
  • 每次部署都会重建容器,所以写在容器内的 SQLite 文件会消失。请用 Persistent Storage 挂载它所在的文件夹,或在面板中创建 PostgreSQL 数据库。
  • Coolify 用自己的密钥以 root 身份通过 SSH 连接服务器。如果您完全禁用 root 登录,或从 authorized_keys 中删除 coolify 那一行,部署就会停止工作。
  • 面板通过 HTTPS 地址正常工作后,可以关闭 8000、6001 和 6002 端口。Docker 会绕过 ufw,所以要走 Coolify 的 Compose 方式,具体步骤见帮助文章。
  • Coolify 的自动更新默认开启。让您应用的包保持最新是您的事。
  • 服务器只在一个地方,伊斯坦布尔。距离较远的访客延迟会更高,如有需要,可以在前面加一层内容分发网络。

Next.js 常见问题

Next.js VPS 需要多少 RAM?

Next.js 没有官方的 RAM 数值,因为由构建决定。在我们的测试中,4 GB 的服务器构建了一个约有 85 个包的应用,而在 2 GB 时同一个应用内存不足,面板则保持运行。请从 4 GB 开始。如果构建时内存不足,请在面板中升级配置后重新部署。

Next.js 主机的固定月费是什么意思?

您为所选的 RAM、CPU 和磁盘付费,在您更改配置之前价格保持不变。请求、构建分钟数和团队席位都不计量,流量不限,每晚备份已包含在内。代价是服务器不会自行伸缩:是否扩容由您决定。

Next.js 的所有功能都能在自己的服务器上使用吗?

可以。Next.js 文档说,使用 Node.js 服务器或 Docker 时所有功能都可用,只有静态导出受限。在带持久磁盘的单台服务器上,缓存和 ISR 会自动工作。如果运行多个副本,就必须在它们之间共享缓存。

如何部署用 AI 编程工具做出的应用?

不管是哪个工具写的,结果通常是普通的 Next.js、Vite、Astro、Node 或 Python 项目。把代码放到 GitHub,把机密信息移到环境变量中,并确认 npm run build 能顺利完成。然后把仓库连接到 Coolify,按 Deploy。

也可以部署 Vite、Astro 或 Python 项目吗?

可以。我们在真实服务器上试过 Coolify 的示例项目:静态的 Vite 网站、Astro 服务器应用和 Flask 应用,都用 Railpack 构建成功并通过 HTTPS 打开。只需修改几个字段:Vite 选 Static site 和 /dist,Astro 用 4321 端口,Flask 用 5000 端口,并加上启动命令。

如何通过 git push 部署 Next.js 应用?

每次推送时,GitHub 会向面板发送一个带签名的请求。Coolify 验证后,为该分支重新构建应用。要进行设置,请把应用 Webhooks 页面中的地址和密钥填入 GitHub 上仓库的 Webhooks 设置。在一个小型示例项目上,借助构建缓存,一次新提交在 41 秒内就上线了。

了解更多,查看类似应用