使用PM2 Process Manager在NX MonorePo中运行节点服务器的指南
#node #nx #pm2

介绍

PM2是一个守护程序经理,将帮助您管理和保持应用程序24/7。
它具有许多功能,可以在部署和维护应用程序的过程中为您提供帮助。

此外,PM2允许您在cluster mode中运行nodejs服务器。
这大大改善了应用程序的性能,并允许您水平扩展应用程序。

在本文中,我们将介绍以下内容:

  1. 建立一个Nx monorepo
  2. 在NX Monorepo中设置NestJS项目。
  3. 使用Nx-PM2-Plugin使用Nx-PM2-Plugin运行Nestjs。

必须注意,可以在NX中的任何Nodejs项目中使用相同的方法。

1.建立NX Monorepo

在本节中,我们将使用integrated mode方案设置Nx monorepo

npx create-nx-workspace@latest myorg --preset=ts

可以找到设置NX Monorepo的综合指南here;

2.设置Nestjs

Nx提供了一个NestJS原理图来在Monorepo中设置Nestjs项目。

npm install -D @nx/nest
npx nx g @nx/nest:app my-nest-app

可以在NX中找到NESTJ的综合指南here

3.与pm2的内斯特

全球安装PM2。

npm install pm2 -g

安装Nx-PM2-Plugin

npm i nx-pm2-plugin

将以下任务添加到Nestjs Project的JON。

"pm2": {
    "executor": "nx-pm2-plugin:pm2-executor",
    "options": {
        "command": "my-nest-app:serve:production",
        "name": "example"
    }
}

您现在可以使用以下命令来运行任务:

npx nx run my-nest-app:pm2

您可以使用以下命令来监视服务实例:

pm2 monit

结论

PM2是一个守护程序过程管理器,可以帮助您24/7全天候管理和保持应用程序在线。它具有许多功能,可以在部署和维护应用程序的过程中为您提供帮助。