如何在生产服务器上安装PM2运行Node.js应用程序

PM2Node.js的免费开源,高级,高效和跨平台的生产级流程管理器,具有内置负载均衡器。它适用于Linux,MacOS以及Windows。它支持应用程序监控,微服务/流程的高效管理,以群集模式运行应用程序,正常启动和关闭应用程序。

它通过自动重启保持您的应用程序“永远活着”,并且可以启用以在系统引导时启动,从而允许高可用性(HA)配置或体系结构。

值得注意的是,PM2允许您以群集模式运行应用程序,而无需对代码进行任何更改(这也取决于服务器上的CPU核心数)。它还允许您轻松管理应用程序日志等等。

此外,它还对Express,Adonis Js,Sails,Hapi等主要Node.js框架提供了令人难以置信的支持,无需进行任何代码更改。 PM2正被IBM,Microsoft,PayPal等公司使用。

在本文中,我们将解释如何安装和使用PM2在Linux生产服务器中运行Nodejs应用程序。我们将创建一个应用程序,用于演示PM2的一些基本功能,以便您开始使用它。

第1步:在Linux中安装Nodejs和NPM

1.要安装最新版本的Node.js和NPM,首先需要在Linux发行版下启用官方NodeSource存储库,然后安装Node.js和NPM软件包,如图所示。

在Debian/Ubuntu

---------- 安装 Node.js v11.x ----------
$ curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
$ sudo apt-get install -y nodejs

---------- 安装 Node.js v10.x ----------
$ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
$ sudo apt-get install -y nodejs

CentOS/RHEL和Fedora

---------- 安装 Node.js v11.x ----------
$ curl -sL https://rpm.nodesource.com/setup_11.x | bash -

---------- 安装 Node.js v10.x ----------
$ curl -sL https://rpm.nodesource.com/setup_10.x | bash -

第2步:创建Nodejs应用程序

2.现在,让我们创建一个测试应用程序(我们假设它有一个共享相同数据库的客户端和管理员端),微服务将分别在端口3000和3001上运行。

$ sudo mkdir -p /var/www/html/app
$ sudo mkdir -p /var/www/html/adminside
$ sudo vim /var/www/html/app/server.js
$ sudo vim /var/www/html/adminside/server.js

接下来,将以下代码片段复制并粘贴到server.js文件中(将192.168.43.31替换为您的服务器IP)。

##mainapp code
const http = require('http');

const hostname = '192.168.43.31';
const port = 3000;

const server = http.createServer((req, res) => {
 res.statusCode = 200;
   res.setHeader('Content-Type', 'text/plain');
   res.end('This is the Main App!\n');
});

server.listen(port, hostname, () => {
   console.log(`Server running at ${hostname}:${port}/`);
});
##adminside code
const http = require('http');

const hostname = '192.168.43.31';
const port = 3001;

const server = http.createServer((req, res) => {
 res.statusCode = 200;
   res.setHeader('Content-Type', 'text/plain');
   res.end('This is the Admin Side!\n');
});

server.listen(port, hostname, () => {
   console.log(`Server running at ${hostname}:${port}/`);
});

保存文件并退出。

第3步:在Linux中安装PM2 Product Process Manager

3.如图所示,可以通过NPM安装最新稳定版的PM2。

$ sudo npm i -g pm2

4.安装PM2后,可以使用以下命令启动node应用程序。

$ sudo node /var/www/html/app/server.js
$ sudo node /var/www/html/adminside/server.js

请注意,在生产环境中,您应该使用PM2启动它们,如图所示(如果您的应用程序存储在普通用户具有读写权限的位置,则可能不需要sudo命令)。

$ sudo pm2 start /var/www/html/app/server.js
$ sudo pm2 start /var/www/html/adminside/server.js

如何在生产服务器上安装PM2运行Node.js应用程序

使用PM2启动Nodejs App

第4步:如何在Linux中使用和管理PM2

5.例如,使用-i标志以集群模式启动应用程序以指定实例数。

$ sudo pm2 start /var/www/html/app/server.js -i 4
$ sudo pm2 scale 0 8   #将群集应用扩展到8个进程

6.要列出所有节点应用程序(进程/微服务),请运行以下命令。

$ sudo pm2 list

如何在生产服务器上安装PM2运行Node.js应用程序

列出所有PM2管理node应用程序

7.通过运行以下命令来监视日志,自定义度量标准,来自所有进程的进程信息。

$ sudo pm2 monit

如何在生产服务器上安装PM2运行Node.js应用程序

监控所有Node进程

8.使用进程ID或名称查看所示的单个Node进程的详细信息。

$ sudo pm2 show 0

如何在生产服务器上安装PM2运行Node.js应用程序

查看单个应用的详细信息

第5步:如何在Linux中使用PM2管理Node应用程序

9.以下是您应注意的一些常见流程(单个或所有)管理命令的列表。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/11898.html