安装和初步使用pm2

1.pm2简介

pm2是用于nodejs服务器环境下,部署nodejs应用的守护进程管理器,比如nuxt web项目就默认使用pm2来管理。PM2 提供了生产环境中所需的自动重启、负载均衡、日志管理和集群支持等功能。

pm2在nodejs官网地址(英文版): https://www.npmjs.com/package/pm2

2.pm2的安装

安装命令: npm install -g pm2

Windows生产环境中使用 PM2 时,建议配置 PM2 为系统服务并设置跟随系统自动重启,这样不会因为服务器重启后需要手工启动。具体可以采用WinSW或者NSSM等工具实现。

pm2安装后的检查。pm2安装后,在powershell中直接输入pm2应该会没有报错,并有一些pm2相关的内容输出,这就说明安装完成了; 否则需要检查环境变量是否配置正确,可以通过 npm config get prefix 命令查看npm命令所在目录,正常路径如下,将其加入环境变量.

   C:\Users\<YourUsername>\AppData\Roaming\npm

如果使用vs code运行pm2报错,但是在独立的powershell中没有报错,那就需要用管理员模式打开vs code, 然后输入以下命令允许vs code允许本地脚本。

   Set-ExecutionPolicy RemoteSigned

3.为web项目创建用于pm2的配置文件: ecosystem.config.js

一般情况下,我们需要在我们的web项目(比如nuxt项目或者vue3项目)的根目录下,创建一个名为ecosystem.config.js的项目配置文件,用于pm2对该项目进行配置和管理, 其内容可以如下:

module.exports = {

   apps: [

       {

           name: 'app1',

           script: './app1.js',

           instances: 'max', // 使用所有可用的 CPU 核心

           exec_mode: 'cluster', // web应用建议使用这个模式

           env: {

               NODE_ENV: 'development',

               PORT: 3001

           },

           env_production: {

               NODE_ENV: 'production',

               PORT: 81

           }

   } ]

};

4.pm2常见命令

4.1.启动应用

pm2 start ecosystem.config.cjs

4.2.查看日志

   pm2 logs   // 查看pm2的日志

    pm2 show <app_name>  // 查看app内部日志

4.3.检查应用的运行状态

   pm2 status

4.4.实时监控应用的运行

   pm2 monit       // 这个功能挺棒的,可以实时查看pm2应用的清单,看到其内存/CPU等,还可以上下选择每个应用的输出信息

       xxx

4.5.pm2项目的部署

Windows环境下可以采用WinSW+bat文件的方式部署pm2为windows服务,除了WinSW,还有NSSM,FireDaemon等其他工具.

Linux环境下部署可以采用比如systemd等方式.


参考资料

1.《通义千问官网》,  https://tongyi.aliyun.com/qianwen

2.《PM2中文网》,  https://pm2.fenxianglu.cn

3.《PM2网》, https://pm2.node.org.cn/

4.《nodejs官网》, https://www.npmjs.com/package/pm2








Comment IconComment Icon
Icon
评论 0
时间↑ 点赞↓

Comment Icon