登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
NVM 与 单节点下PM2进程守护 安装配置以及使用教程完整 ...
NVM 与 单节点下PM2进程守护 安装配置以及使用教程完整指南(含 Node.js 环境搭建)
[ 复制链接 ]
跟尴
2025-11-22 01:20:14
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
NVM与PM2安装配置指南
PM2是Node.js应用的守护进程管理器,可实现应用常驻后台、故障自动重启等功能。其依赖Node.js环境,因此需先通过NVM(Node Version Manager)管理Node.js版本,再完成PM2安装与使用。
一、NVM安装与配置
NVM用于灵活切换Node.js版本,适配不同项目的环境需求。
1.1 网络代理配置(可选)
若网络无法访问GitHub,需先配置Git代理,替换示例中的代理地址和端口。
# 设置全局Git代理
git config --global http.proxy http://192.168.87.1:7890
git config --global https.proxy http://192.168.87.1:7890
# 如需取消代理,执行以下命令
# git config --unset http.proxy
# git config --unset https.proxy
复制代码
1.2 安装NVM
执行以下命令下载并安装NVM(以v0.39.7版本为例,可替换为最新版本)。
# 修正原命令中的“url”为“curl”,确保命令可执行
curl -x http://192.168.87.1:7890 -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
复制代码
安装完成后,终端会输出
环境变量配置命令
,需手动复制执行,确保NVM生效。
示例效果:
二、Node.js与npm安装
通过NVM安装指定版本的Node.js(示例为v18,可替换为需求版本,如v20),npm会随Node.js自动安装。
# 安装Node.js v18并切换为当前使用版本
nvm install 18 && nvm use 18
复制代码
执行完成后,可通过node -v和npm -v验证安装是否成功。
示例效果:
三、PM2安装
使用npm全局安装PM2,确保在任意目录均可执行PM2命令。
# 安装最新版本的PM2
npm install pm2@latest -g
复制代码
安装完成后,通过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 / pm2 stop all停止指定进程或所有进程(如pm2 stop api或pm2 stop 0)pm2 restart / pm2 restart all重启指定进程或所有进程pm2 reload 平滑重启(零停机,仅适用于集群模式)pm2 delete / pm2 delete all从PM2列表中删除指定进程或所有进程
日志管理
pm2 logs / pm2 logs 查看所有或指定进程的实时日志pm2 logs --lines 100查看最近100行日志pm2 flush清空所有日志
监控与信息
`pm2 monit交互式面板,实时监控CPU、内存占用pm2 describe 查看指定进程的详细信息(环境变量、启动参数等)pm2 report生成应用性能分析报告
开机自启
pm2 startup生成开机自启脚本(自动适配系统,如systemd)pm2 save保存当前进程列表,配合startup实现开机自启pm2 unstartup取消开机自启配置
其他
pm2 --help / pm2 --version查看帮助文档或PM2版本pm2 reset 重置进程的重启统计次数
4.2 实操场景示例
场景1:启动项目进程
通过指定“启动命令”和“应用名”,创建PM2守护进程(示例为启动名为“tp8”的项目)。
pm2 start "<项目启动命令>" --name "<项目名称>"
# 示例:pm2 start "php think run" --name "tp8"
复制代码
示例效果:
场景2:查看进程列表
查看所有已启动的PM2进程状态,包括进程ID、名称、CPU/内存占用等。
pm2 list
复制代码
示例效果:
场景3:删除无用进程
删除不再需要的进程(需指定应用名或进程ID)。
pm2 delete "<项目名称>"
# 示例:pm2 delete "tp8"
复制代码
示例效果:
场景4:集群模式启动(高并发优化)
通过-i max参数,让PM2根据CPU核数自动创建进程,提升应用并发能力。
pm2 start "<项目启动命令>" -i max --name "<项目名称>"
# 示例:pm2 start "app.js" -i max --name "api-server"
复制代码
场景5:查看进程日志
实时查看指定进程的运行日志,用于排查错误或监控应用状态。
pm2 log "<项目名称>"
# 示例:pm2 log "tp8"
复制代码
示例效果:
场景6:配置开机自启
确保服务器重启后,PM2进程自动恢复,无需手动启动。
生成自启脚本:
pm2 startup
复制代码
示例效果:
保存当前进程列表:
pm2 save
复制代码
示例效果:
场景7:实时监控进程
通过交互式面板,实时查看进程的CPU、内存占用及日志输出。
pm2 monit
复制代码
操作说明:按Ctrl+C可退出监控面板。
示例效果:
场景8:生成性能报告
生成PM2及应用的详细性能报告,包含系统信息、进程状态、日志片段等,用于问题排查。
pm2 report
复制代码
报告示例(关键信息节选):
--- 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 │
└────┴────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
NVM
配置
环境
js
Node
相关帖子
快速配置Containerd镜像加速(附最新可用加速地址)
仿神秘海域/美末环境交互的程序化动画学习
Zed Editor C++开发环境配置(基于 CMAKE 与 MinGW-w64 )
Nuxt.js v4中使用quill富文本组件
elk日志配置
Element Plus 国际化配置
2种js框架使用说明
js转码跳转
js框架使用
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
快速配置Containerd镜像加速(附最新可用加速地址)
0
943
阎怀慕
2025-12-02
业界
仿神秘海域/美末环境交互的程序化动画学习
0
13
老僻贞
2025-12-03
业界
Zed Editor C++开发环境配置(基于 CMAKE 与 MinGW-w64 )
0
177
饨篦
2025-12-04
业界
Nuxt.js v4中使用quill富文本组件
1
298
汲佩杉
2025-12-04
安全
elk日志配置
0
788
闹忧踫
2025-12-04
业界
Element Plus 国际化配置
0
453
热琢
2025-12-07
代码
2种js框架使用说明
0
1
新程序
2025-12-07
代码
js转码跳转
0
2
新程序
2025-12-07
代码
js框架使用
0
1
新程序
2025-12-07
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
科技
安全
问答
签约作者
程序园优秀签约作者
发帖
跟尴
2025-11-22 01:20:14
关注
0
粉丝关注
16
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845355
3934307807
991122
4
xiangqian
638210
5
宋子
9987
6
闰咄阅
9991
7
刎唇
9993
8
俞瑛瑶
9998
9
蓬森莉
9952
10
匝抽
9986
查看更多