面向 Node.js 开发人员的 PM2

2025-06-05

面向 Node.js 开发人员的 PM2

在本文中,我们将了解什么是 pm2,以及在 node.js 应用程序开发中如何使用它。面向 Node.js 开发人员的 PM2

以下是关于 Node.js 的最新文章,

使用 Node.js 构建 P2P 视频聊天应用程序

理解 Node.js 中的 EventEmitters

面向 Node.js 开发人员的 Apache Kafka

你有没有想过 Node.js 应用程序是如何在服务器中部署和运行的?

众所周知,我们使用 Nodemon 进行应用程序开发。但是,我们不能在生产服务器中使用相同的工具吗?

实际上,这样做存在一些问题。在使用 nodemon 时,如果关闭终端,node.js 应用程序的进程就会停止。这在生产环境中会造成问题。

我们希望应用程序在生产服务器中不间断地运行。

有几个 npm 包可以解决这个问题。其中一个流行的 npm 包是pm2

pm2 是什么?

pm2 是 Node.js 应用程序生产中的进程管理器。它有助于管理 Node.js 应用程序的进程。它具有许多高级功能,例如应用程序集群、负载平衡等。

安装 pm2

首先,需要全局安装pm2来运行多个应用程序。

npm install pm2 -g

pm2使用配置文件来维护应用程序,它可以是JSON,js或YAML文件。

在这里,我们将使用包含我们应用程序配置的process.json文件。

应用程序设置

使用名为app.js的文件创建一个简单的 node.js 应用程序

npm init --yes

在app.js中添加以下代码。

const express = require('express');

const app = express();

app.get('/',(req,res) => {

    res.send("PM2 is working, Send me Home");
    
})

const PORT = process.env.PORT;
app.listen(PORT,() => {
    console.log(`server is running on port ${PORT}`);
})

之后,创建一个名为process.json的文件。它包含 apps 数组,其中包含应用程序配置详细信息。

{
    "apps": [{
        "name" : "nodepm2",
        "script" : "./app.js",
        "env" : {
            "PORT" : 4005
        },
        "env_production" : {
            "PORT" : 4000
        }
    }]
}

首先,name是 pm2 正在运行的进程的名称。pm2 将运行脚本中提到的文件。在这里,它将像下面这样运行:

pm2 start app.js

env包含应用程序的环境变量。我们可以指定不同的环境变量,例如开发、生产或暂存。

这里我们提到了生产和默认(开发)的环境变量。

运行 pm2

因此,要使用 pm2 运行应用程序,我们可以使用 pm2 的配置启动应用程序。

pm2 start process.json

我们可以通过指定进程id来停止节点应用程序进程。

pm2 stop 0

要在进程停止后删除它,请使用 delete 命令指定进程 ID。

我们可以通过在 pm2 命令中指定 env 来运行设置了不同环境变量的 pm2。

pm2 start process.json --env production

要列出 pm2 正在运行的所有进程,

概括

pm2 是用于管理生产服务器中的 node.js 应用程序进程的最常用库之一。

pm2 中有很多高级功能,将在后续文章中介绍。

祝您编码愉快

文章来源:https://dev.to/ganeshmani/pm2-for-node-js-developers-bjf
PREV
TypeScript 基础 - 权威指南
NEXT
面向前端开发人员的 Nginx - 超越基础知识