部署

了解如何将你的 Nuxt 应用部署到任何托管提供商。

Nuxt 应用可以部署在 Node.js 服务器上、预渲染为静态托管,或部署到无服务器或边缘(CDN)环境。

如果你正在寻找支持 Nuxt 的云提供商列表,请参阅 托管提供商 部分。

Node.js 服务器

了解使用 Nitro 的 Node.js 服务器预设,以部署到任何 Node 托管环境。

  • 默认输出格式,如果未指定或未自动检测
  • 仅加载渲染请求所需的最小块,以优化冷启动时间
  • 适用于将 Nuxt 应用部署到任何 Node.js 托管

入口点

当使用 Node 服务器预设运行 nuxt build 时,结果将是一个启动即用的 Node 服务器入口点。

Terminal
node .output/server/index.mjs

这将启动你的生产 Nuxt 服务器,默认监听 3000 端口。

它支持以下运行时环境变量:

  • NITRO_PORTPORT(默认为 3000
  • NITRO_HOSTHOST(默认为 '0.0.0.0'
  • NITRO_SSL_CERTNITRO_SSL_KEY - 如果两者都存在,将以 HTTPS 模式启动服务器。在绝大多数情况下,除非用于测试,否则不应使用此选项,Nitro 服务器应运行在终止 SSL 的反向代理(如 nginx 或 Cloudflare)后面。

PM2

PM2(进程管理器 2)是一个快速且简单的解决方案,用于在你的服务器或虚拟机上托管 Nuxt 应用。

要使用 pm2,请使用 ecosystem.config.cjs

ecosystem.config.cjs
module.exports = {
  apps: [
    {
      name: 'NuxtAppName',
      port: '3000',
      exec_mode: 'cluster',
      instances: 'max',
      script: './.output/server/index.mjs'
    }
  ]
}

集群模式

你可以使用 NITRO_PRESET=node_cluster 以利用 Node.js cluster 模块实现多进程性能。

默认情况下,工作负载将通过轮询策略分配给工作进程。

了解更多