1. pm2 是什么?
日常開發中需要啟動一個node項目,需要用npm run …,,如果終端被關掉,程序也就自動停止,有時候幾個項目一起跑起來,好幾個終端開着,個人不太喜歡,有一神器可以解決:pm2。pm2 是一個帶有負載均衡功能的Node應用的進程管理器.當你要把你的獨立代碼利用全部的服務器上的所有CPU,並保證進程永遠都活着,0秒的重載, PM2是完美的。它非常適合IaaS結構,但不要把它用於PaaS方案。
2.安裝
npm install -g pm2
3.日常使用
由於node的百花齊放,啟動一個網站的辦法,也會有很多種。這里先以:npm run dev為例:
首先查看項目的package.json文件:
"scripts": { "dev": "node build/dev-server.js --env=local", "start": "node build/dev-server.js --env=local", "build": "node build/build.js --env=publish", "build-local": "node build/build.js" },
npm run dev 實際就是運行node腳步文件:dev-server.js,
可以用pm2啟動:pm2 start build/dev-server.js,可以給這個進程取一個自己記得能理解的名字:pm2 start build/dev-server.js --name XXX,(XXX是你定義的名字)
如果你的node項目配置文件和以上代碼不一樣,,,莫急,pm2 也是有辦法可以啟動的(個人覺得這是一個萬能的啟動的方法):
pm2 start npm -- run XXX
用她替代:npm run dev,就可以寫成:pm2 start npm -- run dev,項目啟動:
雖然項目啟動了,但是名字並不是我想要的(我需要個自己能記得住的名字,並且是一個項目一個專屬name),這時候可以用:
pm2 start npm --watch --name XXX -- run start
項目啟動:
OK pm2的項目啟動大概就這些了,日常還有些常用指令,如:
查看所用已啟動項目:
pm2 list
重啟:
pm2 restart XXX
停止:
pm2 stop XXX
刪除
pm2 delete XXX
……
如果不記得了,直接在控制台輸入:pm2,控制台會給出日常指令,並且會對這些指令給出對應說明: