转)nodejs后台启动方式PM2

如果直接通过node app来启动,如果报错了可能直接停在整个运行,supervisor感觉只是拿来用作开发环境的。再网上找到pm2.目前似乎最常见的线上部署nodejs项目的有forever,pm2这两种。

使用场合:

supervisor是开发环境用。

forever管理多个站点,每个站点访问量不大,不需要监控。

nodemon 是开发环境使用,修改自动重启。

pm2 网站访问量比较大,需要完整的监控界面。

sudo npm install pm2@latest -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