如果直接通过node app来启动,如果报错了可能直接停在整个运行,supervisor感觉只是拿来用作开发环境的。再网上找到pm2.目前似乎最常见的线上部署nodejs项目的有forever,pm2这两种。
使用场合:
supervisor是开发环境用。
forever管理多个站点,每个站点访问量不大,不需要监控。
nodemon 是开发环境使用,修改自动重启。
pm2 网站访问量比较大,需要完整的监控界面。
sudo npm install [email protected] -g
用法
- 最简单的启用一个应用:
pm2 start app.js
- 停止:
pm2 stop app_name|app_id
- 删除:
pm2 delete app_name|app_id
- 重启:
pm2 restart app_name|app_id
- 停止所有:
pm2 stop all
- 查看所有的进程:
pm2 list
- 查看所有的进程状态:
pm2 status
- 查看某一个进程的信息:
pm2 describe app_name|app_id
forever已经out了,严重推荐pm2方式运行nodejs,这是最好的,没有之一。
内建负载均衡(使用 Node cluster 集群模块)
后台运行
0 秒停机重载,我理解大概意思是维护升级的时候不需要停机.
具有 Ubuntu 和 CentOS 的启动脚本
停止不稳定的进程(避免无限循环)
控制台检测
提供 HTTP API
远程控制和实时的接口 API ( Nodejs 模块,允许和 PM2 进程管理器交互 )
pm2官网http://pm2.keymetrics.io/
参考:http://www.cnblogs.com/zhoujie/p/nodejs4.html
https://www.jianshu.com/p/f640450bd120
https://blog.csdn.net/qq_27384769/article/details/78849930
原文地址:https://www.cnblogs.com/willaty/p/10063503.html
时间: 2024-10-10 07:47:48