参考地址:http://www.jianshu.com/p/43525232b03b

参考地址:http://blog.csdn.net/leo_perfect/article/details/53690768

参考地址:http://www.cnblogs.com/chyingp/p/pm2-documentation.html

平时启动项目时,使用命令npm start去启动一个项目,但是如果程序遇到严重的bug后,会自动退出,而不会懂得重新启动项目,pm2就可以解决该问题

在某个文件夹中,创建app.js

nodejs pm2使用-LMLPHP

在app.js中输入以下文本

var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Hello World\n');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');

并且执行命令安装依赖包

npm install http

全局安装pm2

npm install -g pm2

就在代码的位置执行命令,命令执行完成后,则app.js就在后台运行了

nodejs pm2使用-LMLPHP

我们在启动任务时,也可以指定任务的多少

nodejs pm2使用-LMLPHP

我们可以通过pm2 list查看运行的任务

nodejs pm2使用-LMLPHP

也可以通过pm2 restart all重启所有任务

nodejs pm2使用-LMLPHP

通过命令pm2 stop all停止所有任务

nodejs pm2使用-LMLPHP

$ pm2 start app.js -i 4  # 后台运行pm2,启动4个app.js 
                         # 也可以把'max' 参数传递给 start
                         # 正确的进程数目依赖于Cpu的核心数目

$ pm2 start app.js --name my-api # 命名进程

$ pm2 list               # 显示所有进程状态
$ pm2 monit              # 监视所有进程
$ pm2 logs               # 显示所有进程日志

$ pm2 stop 0             # 停止指定的进程
$ pm2 stop all           # 停止所有进程

$ pm2 restart 0          # 重启指定的进程
$ pm2 restart all        # 重启所有进程

$ pm2 delete 0           # 杀死指定的进程
$ pm2 delete all         # 杀死全部进程

$ pm2 reload all         # 0 秒停机重载进程 (用于 NETWORKED 进程)

$ pm2 startup            # 产生 init 脚本 保持进程活着
$ pm2 web                # 运行健壮的 computer API endpoint (http://localhost:9615)

05-16 22:25