当前位置:网站首页 > 技术博客 > 正文

pm2部署nodejs



目录

1. pm2 简介

2. pm2的主要特性

3. 常用命令

3.1 pm2的安装与更新

3.1.1 pm2安装

3.1.2 pm2更新

3.2 pm2 启动运行指定的程序

3.2.1 正常启动应用程序

3.2.2 启动应用程序时并设置name

3.3 pm2 停止指定运行的程序

3.3.1 停止特定的应用

3.3.2 停止所有的应用

3.4 重启所有进程

3.4.1 重新启动

3.4.2 0秒停机重载

3.5 删除应用程序

3.5.1 删除指定的应用程序

3.5.2 删除所有的应用

3.6 显示所有进程状态

3.7 显示日志

3.7.1 显示所有应用程序的日志

3.7.2 显示特定的进程日志

3.8 查看每个应用占用情况

3.9 显示应用程序所有信息

4. PM2配置文件方式

4.1 生成示例配置文件


 NodeJS 进程管理器 PM2 的使用 

PM2 是一款非常优秀的 Node 进程管理工具,它有着丰富的特性:能够充分利用多核 CPU且能够负载均衡、能够帮助应用在崩溃后、指定时间(cluster model)和超出最大内存限制等情况下实现自动重启。

PM2 是开源的基于 Nodejs 的应用进程管理器,包括守护进程,监控,日志的一整套完整的功能

PM2 是一个带有负载均衡功能的 Node 应用进程管理器
  • 内建负载均衡(使用 Node cluster 集群模块)
  • 后台运行
  • 0 秒停机重载,我理解大概意思是维护升级的时候不需要停机.
  • 具有 Ubuntu 和 CentOS 的启动脚本
  • 停止不稳定的进程(避免无限循环)
  • 控制台检测
  • 提供 HTTP API
  • 远程控制和实时的接口 API(Nodejs 模块,允许和 PM2 进程管理器交互)

3.1 pm2的安装与更新

在使用pm2之前,我们还需要安装nodejs,这是前提

下载nodejs:下载 | Node.js | Index of /dist/

如何安装nodejs:Node.js 安装配置 | 菜鸟教程 | 通过包管理器安装 Node.js | Node.js

3.1.1 pm2安装
 

 

查看版本好,确定是否安装成功

3.1.2 pm2更新
 

3.2 pm2 启动运行指定的程序

通过pm2启动应用程序服务,守护进程

3.2.1 正常启动应用程序
 
 

示例:

多个应用程序

通过pm2启动应用程序

启动第一个应用程序

启动第二个应用程序

启动是否能正常运行程序

我们发现两个进程都可以正常访问,我们会发现两个进程都叫app,甚至都不太好区分谁是谁

因此,我们在启动程序的时候,可以自定义命名

3.2.2 启动应用程序时并设置name
 

上面的示例中,两个进程都是同一个名字,都不太好区分,启动第三个程序时修改进程名称

结果:

3.3 pm2 停止指定运行的程序

通过pm2停止正在运行的程序

3.3.1 停止特定的应用
  • 根据应用名停止指定应用
 
  • 根据应用id停止指定应用
 

现在可以停止进程

通过进程名关闭进程

通过进程id关闭进程

结果

3.3.2 停止所有的应用
  • 停止所有进程
 

all是关闭所有的进程

访问结果:

3.4 重启所有进程

3.4.1 重新启动

restart命令同时杀死并重启所有进程。短时间内服务不可用。生成环境推荐使用reload

 
3.4.2 0秒停机重载

重新启动所有进程,始终保持至少一个进程在运行

 

3.5 删除应用程序

删除应用程序,就是不在让pm2维护这个应用程序

3.5.1 删除指定的应用程序
  • 根据应用名关闭并删除应用
 
  • 根据应用ID关闭并删除应用
 

通过进程名删除进程

通过进程id删除进程

3.5.2 删除所有的应用
  • 关闭并删除所有的应用
 

3.6 显示所有进程状态

 

查看进程状态

3.7 显示日志

3.7.1 显示所有应用程序的日志
 

查看进程日志

3.7.2 显示特定的进程日志
  • 指定应用名查看应用日志
 
  • 指定应用ID查看应用日志
 

3.8 查看每个应用占用情况

 

3.9 显示应用程序所有信息

  • 根据name查看
 
  • 根据id查看
 

4.1 生成示例配置文件

 

 


参考资料

pm2-带负载均衡功能的Node应用进程管理工具

 | 

版权声明


相关文章:

  • java中字符串数组初始化2025-05-23 17:30:03
  • 安装hbase教程2025-05-23 17:30:03
  • 空间尺度比例2025-05-23 17:30:03
  • vue权限控制2025-05-23 17:30:03
  • 异步fifoverilog代码2025-05-23 17:30:03
  • 若快打码软件2025-05-23 17:30:03
  • python 异步接口2025-05-23 17:30:03
  • rtc的工作原理2025-05-23 17:30:03
  • js单选框radio选中事件2025-05-23 17:30:03
  • idea断点是什么意思2025-05-23 17:30:03