部署
了解如何将你的 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_PORT
或PORT
(默认为3000
)NITRO_HOST
或HOST
(默认为'0.0.0.0'
)NITRO_SSL_CERT
和NITRO_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 模块实现多进程性能。
默认情况下,工作负载将通过轮询策略分配给工作进程。