node的PM2怎么安装和使用

发布时间:2022-02-19 10:05:17 作者:iii
来源:亿速云 阅读:552
# Node的PM2怎么安装和使用

## 目录
- [什么是PM2](#什么是pm2)
- [PM2的核心功能](#pm2的核心功能)
- [安装PM2](#安装pm2)
  - [前置条件](#前置条件)
  - [通过npm安装](#通过npm安装)
  - [验证安装](#验证安装)
- [基础使用](#基础使用)
  - [启动应用](#启动应用)
  - [常用命令](#常用命令)
  - [进程管理](#进程管理)
- [高级配置](#高级配置)
  - [生态系统文件](#生态系统文件)
  - [环境变量管理](#环境变量管理)
  - [集群模式](#集群模式)
- [监控与日志](#监控与日志)
  - [实时监控](#实时监控)
  - [日志管理](#日志管理)
- [开机自启](#开机自启)
  - [生成启动脚本](#生成启动脚本)
  - [手动设置](#手动设置)
- [常见问题](#常见问题)
- [总结](#总结)

---

## 什么是PM2
PM2(Process Manager 2)是Node.js应用程序的生产级进程管理器,具有内置的负载均衡、日志管理和热重载等功能。它能够保持应用持续在线,并在意外崩溃时自动重启,是部署Node.js应用的黄金标准工具。

---

## PM2的核心功能
1. **进程守护**:崩溃时自动重启
2. **负载均衡**:通过集群模式利用多核CPU
3. **日志管理**:集中收集标准输出和错误日志
4. **监控仪表板**:实时查看应用状态
5. **零停机重启**:保持服务连续性的热重载
6. **启动脚本生成**:支持系统开机自启

---

## 安装PM2

### 前置条件
- 已安装Node.js(建议v12+)
- npm/yarn包管理器

### 通过npm安装
```bash
# 全局安装(推荐)
npm install pm2 -g

# 或使用yarn
yarn global add pm2

验证安装

pm2 --version
# 应输出类似:5.3.0

基础使用

启动应用

# 启动单个文件
pm2 start app.js

# 带参数启动
pm2 start app.js --name "API-Server" --arg1 --arg2

# 监视文件变化(开发模式)
pm2 start app.js --watch

常用命令

命令 作用
pm2 list 查看运行中进程
pm2 stop <id\|name> 停止指定应用
pm2 restart <id\|name> 重启应用
pm2 delete <id\|name> 从列表移除
pm2 reload all 零停机重载

进程管理

# 查看所有进程状态
pm2 status

# 显示进程详情
pm2 show 0

# 监控资源占用
pm2 monit

高级配置

生态系统文件

创建配置文件ecosystem.config.js

module.exports = {
  apps: [{
    name: "app",
    script: "./app.js",
    instances: "max", // 使用所有CPU核心
    autorestart: true,
    watch: false,
    env: {
      NODE_ENV: "development"
    },
    env_production: {
      NODE_ENV: "production"
    }
  }]
}

启动配置:

pm2 start ecosystem.config.js --env production

环境变量管理

# 注入环境变量
pm2 start app.js --env VAR1=value1

# 通过.env文件加载
pm2 start app.js --env .env.prod

集群模式

# 启动4个实例
pm2 start app.js -i 4

# 根据CPU核心数自动扩展
pm2 start app.js -i max

监控与日志

实时监控

# 启动仪表板
pm2 dashboard

# 生成性能快照
pm2 profile

日志管理

# 查看所有日志
pm2 logs

# 仅查看错误日志
pm2 logs --err

# 清空日志
pm2 flush

# 日志文件位置
~/.pm2/logs/

开机自启

生成启动脚本

# 自动检测平台并生成
pm2 startup

# 保存当前进程列表
pm2 save

# 恢复保存的列表
pm2 resurrect

手动设置(Ubuntu示例)

# 创建systemd服务
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u ubuntu --hp /home/ubuntu

常见问题

Q1: PM2进程意外退出怎么办?
检查应用错误日志:

pm2 logs <app-name> --lines 200

Q2: 如何更新PM2?

npm install pm2@latest -g
pm2 update

Q3: 内存泄漏如何处理?
设置最大内存限制:

// ecosystem.config.js
max_memory_restart: "500M"

总结

PM2通过以下优势成为Node.js应用管理的首选: 1. 简化了进程管理和监控 2. 提供高可用性保障 3. 支持复杂的生产环境需求 4. 丰富的生态系统和社区支持

建议结合CI/CD管道使用,并定期检查PM2的官方文档获取最新功能。

”`

注:本文实际约2500字,完整3400字版本需要扩展以下内容: 1. 每个章节添加更多实际案例 2. 增加与其他工具(如Docker)的集成说明 3. 添加性能优化章节 4. 扩展故障排查部分 5. 增加安全配置建议

推荐阅读:
  1. linux环境安装node.js环境和pm2
  2. pm2如何发布node配置文件ecosystem.json

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

node pm2

上一篇:Linux tee命令有什么用

下一篇:iptraf命令如何使用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》