📌 简介
本部署文档将指导你如何使用 PM2 将 Nuxt 3 项目部署到服务器。PM2 是一个功能强大的 Node.js 进程管理工具,支持集群模式、自动重启、开机自启等功能。
🚀 步骤 1:安装 PM2
在你的 本地开发环境 和 服务器 都需要全局安装 PM2。
npm install -g pm2
📁 步骤 2:创建 ecosystem.config.cjs 配置文件
在你的 Nuxt 3 项目根目录下新建文件 ecosystem.config.cjs:
module.exports = {
apps: [
{
name: "robot-website", // 应用名称
port: "9999", // 应用监听端口
exec_mode: "cluster", // 集群模式 (使用多核)
instances: "max", // 根据 CPU 核心数自动分配实例数量
script: "./.output/server/index.mjs", // Nuxt 3 项目打包后的入口文件
env: {
NODE_ENV: "production"
}
},
],
};
📁 步骤 3:配置 nuxt.config.ts
编辑 nuxt.config.ts 文件,使其支持环境变量读取:
import { defineNuxtConfig } from 'nuxt'
export default defineNuxtConfig({
runtimeConfig: {
public: {
baseURL: process.env.NUXT_PUBLIC_BASE_URL || 'http://localhost:9999'
}
}
})
📁 步骤 4:创建环境变量文件
在项目根目录下创建:
.env
NODE_ENV=development
NUXT_PUBLIC_BASE_URL=http://localhost:9999
.env.production
NODE_ENV=production
NUXT_PUBLIC_BASE_URL=https://your-production-url.com
📦 步骤 5:打包项目
在项目根目录下执行:
npm run build
这会在 .output/ 文件夹中生成你的项目。
🚀 步骤 6:启动项目 (使用 PM2)
pm2 start ecosystem.config.cjs
🔍 步骤 7:查看 PM2 运行状态
pm2 status
💾 步骤 8:保存进程配置
防止服务器重启后配置丢失。
pm2 save
🔁 步骤 9:设置开机自启
在服务器中执行:
pm2 startup
按提示运行生成的命令。
🔄 步骤 10:更新配置或重启应用
当修改了 ecosystem.config.cjs 文件或项目代码后,使用:
pm2 reload ecosystem.config.cjs
📖 步骤 11:查看日志 (调试用)
pm2 logs
或查看特定应用的日志:
pm2 logs robot-website
🎉 完成
你的 Nuxt 3 应用现在已经通过 PM2 部署成功,并且支持:
- 集群模式多核处理。
- 自动重启。
- 系统重启后自动启动。