使用高大上的pm2代替forever部署nodejs專案
阿新 • • 發佈:2019-01-24
經常逛cnode社群,所以早已耳聞pm2,今天我們就研究一下它到底怎麼部署專案。
簡單教程
首先需要安裝pm2:
npm install -g pm2
執行:
pm2 start app.js
初次安裝並執行,會有一個高大上的介面:
高大上的介面
直接我們介紹過forever,那麼pm2與forever相比較有哪些高大上的功能呢?我們看一下對比表格:
Feature | Forever | PM2 |
---|---|---|
Keep Alive | ✔ | ✔ |
Coffeescript | ✔ | |
Log aggregation | ✔ | |
API | ✔ | |
Terminal monitoring | ✔ | |
Clustering | ✔ | |
JSON configuration | ✔ |
我們可以很直觀的看出,pm2相比較Forever,功能更加強大一些。
檢視執行狀態
我們可以通過簡單的命令檢視應用的執行狀態:
pm2 list
效果如下:
執行狀態
ANodeBlog應用正在執行,pid為31480,並且佔用記憶體為89.113 MB。
追蹤資源執行情況
pm2 monit
會看到應用資源的實時執行情況
實時執行情況
檢視應用詳細部署狀態
如果我們想要檢視一個應用詳細的執行狀態,比如ANodeBlog
的狀態,可以執行:
pm2 describe 3
“3”是指App Id。
結果如下:
詳細執行狀態
檢視日誌
pm2 logs
系統會打印出詳細的logs。
重啟應用
pm2 restart appId
停止應用
想要終止應用,只需要執行:
pm2 stop app.js
強健的API
在專案中執行:
pm2 web
預定義執行配置檔案
我們可以預定義一個配置檔案,然後制定執行這個配置檔案,比如我們定義一個檔案process.json
,內容如下:
{
"apps": [
{
"name": "ANodeBlog",
"script": "bin/www",
"watch": "../",
"log_date_format" : "YYYY-MM-DD HH:mm Z"
}
]
}
然後可以通過
pm2 start process.json
執行這個App。
總結
常用命令總結如下:
- 安裝pm2
npm install -g pm2
- 啟動應用
pm2 start app.js
- 列出所有應用
pm2 list
- 檢視資源消耗
pm2 monit
- 檢視某一個應用狀態
pm2 describe [app id]
- 檢視所有日誌
pm2 logs
- 重啟應用
pm2 restart [app id]
- 停止應用
pm2 stop [app id]
- 開啟api訪問
pm2 web