Node.js 面试题
目录

请解释如何使用 pm2 部署和管理多个 Node.js 应用实例?

· 约 3 分钟读完 · 第 238 / 377 章

推荐答案

使用 PM2 部署和管理多个 Node.js 应用实例的步骤如下:

  1. 安装 PM2
    首先,全局安装 PM2:

  2. 启动多个应用实例
    使用 PM2 启动多个 Node.js 应用实例。假设你有两个应用 app1.js 和 app2.js,可以通过以下命令启动:

  3. 查看运行状态
    使用以下命令查看所有运行中的应用实例:

  4. 负载均衡
    如果你希望为同一个应用启动多个实例以实现负载均衡,可以使用 -i 参数指定实例数量:

  5. 监控和日志
    使用以下命令监控应用的 CPU 和内存使用情况:

    查看日志:

  6. 重启和停止应用
    重启应用:

    停止应用:

  7. 删除应用
    从 PM2 中删除应用:

  8. 开机自启动
    保存当前 PM2 配置并设置为开机自启动:

本题详细解读

PM2 简介

PM2 是一个用于 Node.js 应用的进程管理工具,能够帮助开发者轻松地管理多个 Node.js 应用实例。它提供了进程守护、负载均衡、日志管理、监控等功能,非常适合生产环境使用。

启动多个应用实例

通过 pm2 start 命令可以启动多个 Node.js 应用实例。每个实例可以独立运行,并且可以通过 --name 参数为实例命名,方便后续管理。

负载均衡

PM2 支持通过 -i 参数为同一个应用启动多个实例,以实现负载均衡。例如,pm2 start app.js -i 4 会启动 4 个实例,PM2 会自动分配请求到这些实例上。

监控和日志

PM2 提供了实时监控功能,可以通过 pm2 monit 查看应用的 CPU 和内存使用情况。此外,pm2 logs 命令可以查看应用的日志输出,帮助开发者快速定位问题。

重启和停止应用

PM2 允许开发者通过 pm2 restart 和 pm2 stop 命令来重启或停止应用实例。这些操作不会影响其他正在运行的应用实例。

删除应用

通过 pm2 delete 命令可以从 PM2 中删除应用实例。删除后,该实例将不再被 PM2 管理。

开机自启动

PM2 提供了 pm2 save 和 pm2 startup 命令,可以将当前的应用配置保存并设置为开机自启动。这样,即使服务器重启,PM2 也会自动启动之前管理的应用实例。

通过以上步骤,开发者可以轻松地使用 PM2 部署和管理多个 Node.js 应用实例,确保应用的稳定运行和高可用性。