NVM 与 单节点下PM2 安装配置以及使用教程完整指南(含 Node.js 环境搭建)

AI-摘要
28.7Blog GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
NVM 与 单节点下PM2 安装配置以及使用教程完整指南(含 Node.js 环境搭建)
28.7的博客优化后的Markdown文档结构更清晰、逻辑更连贯,修正了原内容中的标题错位、命令笔误,同时补充了操作场景说明,提升可读性和实用性。
NVM与PM2安装配置指南
PM2是Node.js应用的守护进程管理器,可实现应用常驻后台、故障自动重启等功能。其依赖Node.js环境,因此需先通过NVM(Node Version Manager)管理Node.js版本,再完成PM2安装与使用。
一、NVM安装与配置
NVM用于灵活切换Node.js版本,适配不同项目的环境需求。
1.1 网络代理配置(可选)
若网络无法访问GitHub,需先配置Git代理,替换示例中的代理地址和端口。
1 | # 设置全局Git代理 |
1.2 安装NVM
执行以下命令下载并安装NVM(以v0.39.7版本为例,可替换为最新版本)。
1 | # 修正原命令中的“url”为“curl”,确保命令可执行 |
- 安装完成后,终端会输出环境变量配置命令,需手动复制执行,确保NVM生效。
- 示例效果:
二、Node.js与npm安装
通过NVM安装指定版本的Node.js(示例为v18,可替换为需求版本,如v20),npm会随Node.js自动安装。
1 | # 安装Node.js v18并切换为当前使用版本 |
- 执行完成后,可通过
node -v和npm -v验证安装是否成功。 - 示例效果:
三、PM2安装
使用npm全局安装PM2,确保在任意目录均可执行PM2命令。
1 | # 安装最新版本的PM2 |
- 安装完成后,通过
pm2 --version验证版本。 - 示例效果:
四、PM2核心操作指南
4.1 PM2常用命令速查表
| 命令分类 | 命令示例 | 说明 |
|---|---|---|
| 基础启动 | pm2 start <脚本> | 启动应用(默认后台运行,如pm2 start app.js) |
| pm2 start <脚本> –name “应用名” | 启动时指定应用名(方便管理,如pm2 start app.js --name "api") |
|
| pm2 start <脚本> – –port 3000 | 启动时传递参数(如指定端口,需用--分隔) |
|
| pm2 start <脚本> -i max | 集群模式启动(max自动适配CPU核数,提升性能) |
|
| pm2 start <配置文件> | 通过配置文件启动多应用(如pm2 start ecosystem.config.js) |
|
| 进程管理 | pm2 list / pm2 status | 查看进程列表(status显示CPU/内存占用详情) |
| pm2 stop <名称/ID> / pm2 stop all | 停止指定进程或所有进程(如pm2 stop api或pm2 stop 0) |
|
| pm2 restart <名称/ID> / pm2 restart all | 重启指定进程或所有进程 | |
| pm2 reload <名称/ID> | 平滑重启(零停机,仅适用于集群模式) | |
| pm2 delete <名称/ID> / pm2 delete all | 从PM2列表中删除指定进程或所有进程 | |
| 日志管理 | pm2 logs / pm2 logs <名称/ID> | 查看所有或指定进程的实时日志 |
| pm2 logs –lines 100 | 查看最近100行日志 | |
| pm2 flush | 清空所有日志 | |
| 监控与信息 | `pm2 monit | 交互式面板,实时监控CPU、内存占用 |
| pm2 describe <名称/ID> | 查看指定进程的详细信息(环境变量、启动参数等) | |
| pm2 report | 生成应用性能分析报告 | |
| 开机自启 | pm2 startup | 生成开机自启脚本(自动适配系统,如systemd) |
| pm2 save | 保存当前进程列表,配合startup实现开机自启 |
|
| pm2 unstartup | 取消开机自启配置 | |
| 其他 | pm2 –help / pm2 –version | 查看帮助文档或PM2版本 |
| pm2 reset <名称/ID> | 重置进程的重启统计次数 |
4.2 实操场景示例
场景1:启动项目进程
通过指定“启动命令”和“应用名”,创建PM2守护进程(示例为启动名为“tp8”的项目)。
1 | pm2 start "<项目启动命令>" --name "<项目名称>" |
- 示例效果:
场景2:查看进程列表
查看所有已启动的PM2进程状态,包括进程ID、名称、CPU/内存占用等。
1 | pm2 list |
- 示例效果:
场景3:删除无用进程
删除不再需要的进程(需指定应用名或进程ID)。
1 | pm2 delete "<项目名称>" |
- 示例效果:
场景4:集群模式启动(高并发优化)
通过-i max参数,让PM2根据CPU核数自动创建进程,提升应用并发能力。
1 | pm2 start "<项目启动命令>" -i max --name "<项目名称>" |
场景5:查看进程日志
实时查看指定进程的运行日志,用于排查错误或监控应用状态。
1 | pm2 log "<项目名称>" |
- 示例效果:
场景6:配置开机自启
确保服务器重启后,PM2进程自动恢复,无需手动启动。
- 生成自启脚本:
1
pm2 startup
- 示例效果:
- 示例效果:
- 保存当前进程列表:
1
pm2 save
- 示例效果:
- 示例效果:
场景7:实时监控进程
通过交互式面板,实时查看进程的CPU、内存占用及日志输出。
1 | pm2 monit |
- 操作说明:按
Ctrl+C可退出监控面板。 - 示例效果:
场景8:生成性能报告
生成PM2及应用的详细性能报告,包含系统信息、进程状态、日志片段等,用于问题排查。
1 | pm2 report |
- 报告示例(关键信息节选):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15--- PM2 report ----------------------------------------------------------------
Date : Mon Oct 27 2025 07:59:16 GMT+0000 (Coordinated Universal Time)
===============================================================================
--- Daemon -------------------------------------------------
pm2d version : 6.0.13
node version : 18.20.8
user : root
uptime : 24min
===============================================================================
--- PM2 list -----------------------------------------------
┌────┬────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├────┼────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ tp8 │ default │ N/A │ fork │ 17358 │ 4m │ 0 │ online │ 0% │ 34.0mb │ root │ disabled │
└────┴────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果









