PM2

pm2是一个进程管理工具,维护一个进程列表,用它来管理node进程,负责所有运行的进程并查看node进程的状态,也支持性能监控,负载均衡等功能,在前端和nodejs的世界中用的很多。

pm2与同类工具对比:

特性:

①后台运行:普通的启动方式 node index.js,关闭终端就结束进程,但pm2关闭终端后仍可在后端运行

②自动重启:可以监听某些文件改动,自动重启(岂不是可以利用这个来做自动部署?)

③停止不稳定的进程:限制不稳定的重启次数,到达上限就停止进程

④0秒停机重启;集群模式下(什么是集群模式?),可以达到重启时不停止服务(怎么做到的)

⑤简单日志管理:pm2可以收集日志,并有插件配合管理

⑥自动负载均衡:cluster(集群)模式下,会自动使用轮询 的方式达到负载均衡,从而减轻服务器的压力

⑦提供实时的接口:pm2插件提供实时的接口,返回服务器与进程的信息

⑧集成管理:有多个进程,不同环境可以统一配置,方便管理

基础用法:

①启动进程:pm2 start app.js

②停止/删除/重启进程:pm2 stop/delete/restart app_name|app_id|all  集群模式下,restart中断服务,而reload不会

③查看所有的进程:pm2 list/ls/status

安装

安装命令:npm install -g pm2;

查看安装路径:whereis pm2;

查看安装的版本:pm2 -v;

更新pm2

更新PM2非常快(少于几秒)并且无缝。

首先确保您正确保存了所有进程:sudo pm2 save

然后从NPM安装最新的PM2版本: sudo npm install pm2 -g

最后更新内存中的PM2进程:sudo pm2 update

使用pm2启动项目

注意:使用pm2启动项目时,默认是通过自己项目中的package.json中的配置进行启动的,需要查看项目中的package.json中start的配置。

查看scripts下的start的配置值,根据这个启动路径进行启动。记住这个启动路径

 

 

 在项目路径下启动项目: pm2 start ./bin/www         //启动当前项目

 1 #启动进程(需要进入该项目所在目录下)
 2 pm2 start 进程名
 3   
 4  #常用入参
 5   # 指定应用程序名称
 6   --name <app_name>
 7  
 8   # 当文件更改时,重启应用程序
 9   --watch
10  
11   # 为应用程序重新加载设置内存阈值
12   --max-memory-restart <200MB>
13  
14   # 指定日志文件
15   --log <log_path>
16  
17   # 向脚本传递额外的参数
18   -- arg1 arg2 arg3
19  
20   # 自动重启之间的延迟
21   --restart-delay <delay in ms>
22  
23   # 在日志前面加上时间前缀
24   --time
25  
26   # 不要自动重启应用程序
27   --no-autorestart
28  
29   # 为强制重启指定cron
30   --cron <cron_pattern>
31  
32   # 附加到应用程序日志
33   --no-daemon
34  
35  
36 #启动成功后可进行访问,若不能访问检查一下端口的下行规则是否开放
37  
38 #查看进程
39 pm2 list
40 #停止、删除进程
41 pm2 stop/delete 进程名
42 #查看日志
43 pm2 logs

 

参考:

https://blog.csdn.net/renhe96421/article/details/125384495

posted on 2022-09-02 14:34  前端码牛  阅读(406)  评论(0编辑  收藏  举报

导航