您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 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
# 创建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. 增加安全配置建议
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。