教程 pm2 tutorial

启动应用

PM2 是一个强大的进程管理工具,它能帮助你启动、管理和监控 Node.js 应用。使用 PM2 启动应用非常简单,它提供了多种方法来确保应用的高可用性和稳定性。

1. 启动应用的基本命令

要启动一个应用,首先需要确保你已经安装了 PM2。在命令行中输入以下命令:

bash
pm2 start app.js

此命令将启动 app.js 文件中的应用。PM2 将自动为你管理进程,并确保它在后台运行。

2. 启动应用时的常用选项

除了基本的启动命令,PM2 还提供了多个选项来定制应用的启动行为:

  • --name: 指定应用的名称,便于在 PM2 中管理。
bash
  pm2 start app.js --name "my-app"
  • --watch: 启用文件监控,若应用文件有变动,PM2 会自动重启应用。
bash
  pm2 start app.js --watch
  • --env: 设置应用的环境变量。例如,可以指定开发环境或生产环境。
bash
  pm2 start app.js --env production
  • --instances: 设置实例的数量,可以选择启动多个进程来提升应用的可用性和性能。
bash
  pm2 start app.js --instances 4
  • --max-memory-restart: 设置内存限制,当应用使用的内存超过指定值时,PM2 会自动重启应用。
bash
  pm2 start app.js --max-memory-restart 100M

3. 使用配置文件启动应用

PM2 还支持通过配置文件启动应用,配置文件可以包含多个应用的配置信息。一个常见的配置文件是 ecosystem.config.js,它包含了有关如何启动应用的详细信息。

示例 ecosystem.config.js 文件:

javascript
module.exports = {
  apps: [
    {
      name: 'my-app',
      script: './app.js',
      instances: 2,
      watch: true,
      env: {
        NODE_ENV: 'production',
      },
    },
  ],
};

然后,可以通过以下命令使用配置文件启动应用:

bash
pm2 start ecosystem.config.js

4. 管理应用的状态

在应用启动之后,PM2 会自动管理它的生命周期。你可以使用以下命令来查看应用的状态:

bash
pm2 status

该命令会列出当前所有正在运行的应用及其状态,包括进程 ID、内存使用情况、CPU 占用率等。

5. 自动启动 PM2

为了确保你的应用在系统重启后自动启动,可以使用 PM2 的 startup 命令来生成启动脚本。

在 Linux 或 macOS 上:

bash
pm2 startup

这将生成一个命令,帮助你配置系统启动时自动启动 PM2 和管理的应用。

然后,保存当前的进程列表:

bash
pm2 save

现在,即使服务器重启,PM2 也会自动恢复应用的运行。

6. 结语

PM2 提供了一个强大的进程管理工具,不仅能启动 Node.js 应用,还能帮助你进行应用监控、负载均衡、自动重启等。通过合理的配置和使用 PM2,你可以确保应用的高可用性和稳定性。

通过 PM2 启动应用,你能够更加高效地管理你的生产环境,尤其是在多个应用实例和高负载场景下。