PM2是一個線上環境下,用於啓動nodejs進程守護的工具,用來保證服務的穩定及分攤服務器進程和壓力。前端
npm install pm2 -g => pm2 --version => 在package.json scripts中配置 "prd": "cross-env NODE_ENV=production pm2 start app.js" => npm run prd運行,運行結果以下圖:node
啓動:pm2 start app.jsnpm
監聽控制檯PM2進程列表: pm2 listjson
重啓:pm2 restart <AppName> / <id>服務器
中止和刪除:pm2 stop <AppName> / <id> pm2 delete <AppName> / <id>app
基本信息: pm2 info <AppName> / <id>工具
日誌:pm2 log <AppName> / <id>spa
監聽進程的CPU和內存信息:pm2 monit <AppName> / <id>rest
pm2在後臺代碼遇到意外錯誤時,進程就會重啓,保證服務端能繼續爲前端和客戶端提供服務,並將錯誤信息記錄到日誌中。日誌
建立pm2.conf.json文件,輸入須要配置的信息,以下:記得刪除註釋
{ "apps": { "name": "pm2-test-server", //設置app的name "script": "app.js", //啓動的文件 "watch": true, //監聽文件變化自動重啓 "ignore_watch": [ //不須要監聽重啓 "node_modules", "logs" ], "instances": 4, //設置多進程 "error_file": "logs/err.log", //錯誤日誌地址 "out_file": "logs/out.log", //輸出日誌地址 "log_date_format": "YYYY-MM-DD HH:mm:ss" //在日誌中的每一行都要標記時間 } }
修改package.json中的"prd": "cross-env NODE_ENV=production pm2 start pm2.conf.json"