參考地址:http://www.jianshu.com/p/43525232b03bhtml
參考地址:http://blog.csdn.net/leo_perfect/article/details/53690768web
參考地址:http://www.cnblogs.com/chyingp/p/pm2-documentation.htmlnpm
平時啓動項目時,使用命令npm start去啓動一個項目,可是若是程序遇到嚴重的bug後,會自動退出,而不會懂得從新啓動項目,pm2就能夠解決該問題api
在某個文件夾中,建立app.jsapp
在app.js中輸入如下文本ui
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/');
而且執行命令安裝依賴包spa
npm install http
全局安裝pm2.net
npm install -g pm2
就在代碼的位置執行命令,命令執行完成後,則app.js就在後臺運行了rest
咱們在啓動任務時,也能夠指定任務的多少日誌
咱們能夠經過pm2 list查看運行的任務
也能夠經過pm2 restart all重啓全部任務
經過命令pm2 stop all中止全部任務
$ 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)