1、node 守护进程比较
1.)node 守护进程比较
nodemon:开发环境使用,修改后自动重启。forever:管理多个站点,每个站点访问量不大,不需要监控。pm2:网站访问量比较大,需要完整的监控界面。
2.)pm2 主要特性
内建负载均衡(使用 Node cluster 集群模块)后台运行 0 秒停机重载 开机自启动脚本 停止不稳定的进程(避免无限循环)控制台检测 提供远程控制和实时的接口 API (允许和 PM2 进程管理器交互)
2、pm2 常用命令
1.)安装
$ npm install -g pm2
若 pm2 -v 不起作用,把 node 目录下 bin 添加到 PATH 路径里
2.)单个启动
$ pm2 start app.js # 启动
$ pm2 start app.js -i 4 # 启动 4 个应用实例,自动负载均衡
$ pm2 start app.js –watch # 启动并监听项目文件变化
3.)批量启动
新建.json 文件如 server.json,配置如下:
{
“apps”: [{
“name”: “appA”,
“script”: “./appA.js”,
“watch”: false
}, {
“name”: “appB”,
“script”: “./appB.js”,
“watch”: false
}]
}
———————————-
# 再执行:
$ pm2 start server.json
批量启动是以 restart 模式启动,可以多次执行
4.)重启
$ pm2 restart app_name|app_id # 重启
$ pm2 restart all # 重启所有进程,相当 stop+start
$ pm2 reload all # 0 秒停机重载进程 (用于不间断进程)
5.)查看
$ pm2 list # 查看进程
$ pm2 logs # 查看日志
$ pm2 show app_name|app_id # 查看进程详情
$ pm2 monit # 查看 CPU 和内存资源占用
6.)停止
$ pm2 stop app_name|app_id
$ pm2 stop all # 停止所有
7.)删除
$ pm2 delete app_name|app_id # 从列表中删除指定的进程
$ pm2 delete all # 从列表中删除全部进程
$ pm2 kill # 杀死守护进程
8.)开机自启动
$ pm2 startup # 创建开机自启动命令
$ pm2 save # 保存当前应用列表
$ pm2 resurrect # 重新加载保存的应用列表
$ pm2 unstartup # 移除开机自启动
9.)pm2 更新
$ pm2 save # 保存当前应用列表
$ npm install pm2 -g
$ pm2 update