使用 PM2 管理和运行 Nuxt.js 应用的详细指南

18 min read

在这篇指南中,我们将讲解如何使用 PM2 来运行 Nuxt.js 应用,并配置相应的 ecosystem.config.js 文件以实现进程管理。

1. 安装 PM2

首先,确保已经安装了 PM2。如果没有安装,可以使用以下命令进行安装:

npm install -g pm2

2. 配置 ecosystem.config.js

创建或编辑项目根目录下的 ecosystem.config.js 文件,内容如下:

module.exports = {
  apps: [
    {
      name: "nuxt-web",
      script: "cross-env PORT=3001 HOST=127.0.0.1 node .output/server/index.mjs",
      log_date_format: "YYYY-MM-DD HH:mm:ss",
      error_file: "./logs/err.log",
      out_file: "./logs/out.log",
      pid_file: "./logs/pid.pid",
      instances: 1,
      min_uptime: "60s",
      max_restarts: 30,
      watch: false
    }
  ]
};

上述配置文件的具体解释如下:

  • name: 应用名称,这里设置为 nuxt-web
  • script: 启动脚本,这里使用 cross-env 设置环境变量并运行生成的 Nuxt.js 服务端入口文件。
  • log_date_format: 日志的时间格式。
  • error_file: 错误日志文件的路径。
  • out_file: 标准输出日志文件的路径。
  • pid_file: PID 文件的路径。
  • instances: 实例数量,这里设置为 1。
  • min_uptime: 最小运行时间,如果小于该时间,PM2 会认为启动失败。
  • max_restarts: 最大重启次数。
  • watch: 是否监听文件变化以自动重启,这里设置为 false

3. 运行 Nuxt.js 应用

在项目根目录下运行以下命令以启动应用:

pm2 start ecosystem.config.js

4. 管理 PM2 应用

PM2 提供了丰富的命令来管理应用。以下是一些常用命令:

  • 查看应用列表:

    pm2 list
    
  • 查看应用日志:

    pm2 logs
    
  • 停止应用:

    pm2 stop nuxt-web
    
  • 重启应用:

    pm2 restart nuxt-web
    
  • 删除应用:

    pm2 delete nuxt-web
    

通过这些步骤,你可以使用 PM2 来管理和运行 Nuxt.js 应用,实现稳定和高效的部署。