經(jīng)常逛cnode社區(qū),所以早已耳聞pm2,今天我們就研究一下它到底怎么部署項(xiàng)目。
簡(jiǎn)單教程
首先需要安裝pm2:
npm install -g pm2
運(yùn)行:
pm2 start app.js
初次安裝并運(yùn)行,會(huì)有一個(gè)高大上的界面:
直接我們介紹過(guò)forever,那么pm2與forever相比較有哪些高大上的功能呢?我們看一下對(duì)比表格:
Feature | Forever | PM2 |
---|---|---|
Keep Alive | ? | ? |
Coffeescript | ? | |
Log aggregation | ? | |
API | ? | |
Terminal monitoring | ? | |
Clustering | ? | |
JSON configuration | ? |
我們可以很直觀的看出,pm2相比較Forever,功能更加強(qiáng)大一些。
查看運(yùn)行狀態(tài)
我們可以通過(guò)簡(jiǎn)單的命令查看應(yīng)用的運(yùn)行狀態(tài):
pm2 list
效果如下:
ANodeBlog應(yīng)用正在運(yùn)行,pid為31480,并且占用內(nèi)存為89.113 MB。
追蹤資源運(yùn)行情況
pm2 monit
會(huì)看到應(yīng)用資源的實(shí)時(shí)運(yùn)行情況
查看應(yīng)用詳細(xì)部署狀態(tài)
如果我們想要查看一個(gè)應(yīng)用詳細(xì)的運(yùn)行狀態(tài),比如ANodeBlog
的狀態(tài),可以運(yùn)行:
pm2 describe 3
“3”是指App Id。
結(jié)果如下:
查看日志
pm2 logs
系統(tǒng)會(huì)打印出詳細(xì)的logs。
重啟應(yīng)用
pm2 restart appId
停止應(yīng)用
想要終止應(yīng)用,只需要運(yùn)行:
pm2 stop app.js
強(qiáng)健的API
在項(xiàng)目中運(yùn)行:
pm2 web
然后瀏覽器訪問(wèn)http://localhost:9615 你會(huì)有驚喜!
預(yù)定義運(yùn)行配置文件
我們可以預(yù)定義一個(gè)配置文件,然后制定運(yùn)行這個(gè)配置文件,比如我們定義一個(gè)文件process.json
,內(nèi)容如下:
{
"apps": [
{
"name": "ANodeBlog",
"script": "bin/www",
"watch": "../",
"log_date_format": "YYYY-MM-DD HH:mm Z"
}
]
}
然后可以通過(guò)
pm2 start process.json
運(yùn)行這個(gè)App。
總結(jié)
常用命令總結(jié)如下:
- 安裝pm2
npm install -g pm2
- 啟動(dòng)應(yīng)用
pm2 start app.js
- 列出所有應(yīng)用
pm2 list
- 查看資源消耗
pm2 monit
- 查看某一個(gè)應(yīng)用狀態(tài)
pm2 describe [app id]
- 查看所有日志
pm2 logs
- 重啟應(yīng)用
pm2 restart [app id]
- 停止應(yīng)用
pm2 stop [app id]
- 開(kāi)啟api訪問(wèn)
pm2 web
更多pm2內(nèi)容請(qǐng)參考官方文檔:http://pm2.keymetrics.io/docs/usage/quick-start