node进程管理工具-pm2

本文最后更新于:8 个月前

PM2是 node 进程管理工具,可以在后台运行node进程并进行管理,解决了关闭控制台之后进程也被注销的问题

node进程管理工具-pm2

一、简介

pm2优点

  • 后台运行(关掉cmd窗口依然运行)
  • 0 秒停机重载,维护升级时不需要停机
  • Linux (stable) & MacOSx (stable) & Windows (stable).多平台支持
  • 进程守护 (停止不稳定的进程,避免无限循环)
  • 内建负载均衡
  • 实时控制台检测
  • 提供 HTTP API等
  • 远程控制和实时的接口API ( nodejs 模块,允许和PM2进程管理器交互 )
  • 不仅仅可以启动node程序,对于一般的脚本程序同样可以

二、常用命令

1、安装

1
npm install -g pm2	#安装pm2

2、查看和监视进程

1
2
3
4
pm2 list	#显示所有进程信息;
pm2 show 11 #查看进程id为 11 的详细信息;
pm2 info 11 #同上
pm2 monit #进入监视页面,监视每个node进程的CPU和内存的使用情况。

3、启动进程

1
pm2 start ./bin/www	#启动进程脚本

还可以携带一系列参数:

  • --watch:监听应用目录的变化,一旦发生变化,自动重启。如果要精确监听、不见听的目录,最好通过配置文件。
  • -i --instances:启用多少个实例,可用于负载均衡。如果-i 0或者-i max,则根据当前机器核数确定实例数目。
  • --ignore-watch:排除监听的目录/文件,可以是特定的文件名,也可以是正则。比如--ignore-watch="test node_modules "
  • -n --name:指定应用的名称。查看应用信息的时候可以用到。
  • -o --output <path>:标准输出日志文件的路径。
  • -e --error <path>:错误输出日志文件的路径。
1
2
3
pm2 start app.js --watch	#实时监控的方式启动,app.js文件有变动时,pm2会自动reload(重启)
pm2 start app.js --ignore-watch="test node_modules" #排除监听的目录/文件
pm2 start app.js --name mynode #启动一个进程并把它命名为mynode

4、停止、删除进程

1
2
pm2 stop/delete 11		#停止/删除id为 11 的进程;
pm2 stop/delete all #停止/删除所有进程;

5、重启、重载进程

1
2
3
4
pm2 restart 11		#重启id为 11 的进程;
pm2 restart all #重启所有进程;
pm2 reload 11 #0秒停机重载id为 11 进程(用于 NETWORKED 进程);
pm2 reload all #重载所有进程;

6、设置开机自启动

1、通过pm2 save保存当前进程状态。
2、通过pm2 startup [platform]生成开机自启动的命令。例如:pm2 startup centeros
3、将步骤2生成的命令,粘贴到控制台进行,搞定。


node进程管理工具-pm2
http://timegogo.top/2022/11/23/后端/node:node进程管理工具-pm2/
作者
丘智聪
发布于
2022年11月23日
更新于
2023年7月16日
许可协议