使用高大上的pm2代替forever部署nodejs項(xiàng)目

經(jīng)常逛cnode社區(qū),所以早已耳聞pm2,今天我們就研究一下它到底怎么部署項(xiàng)目。

pm2官方文檔:http://pm2.keymetrics.io/docs/usage/quick-start/

簡單教程

首先需要安裝pm2:

npm install -g pm2

運(yùn)行:

pm2 start app.js

初次安裝并運(yùn)行,會(huì)有一個(gè)高大上的界面:


高大上的界面

直接我們介紹過forever,那么pm2與forever相比較有哪些高大上的功能呢?我們看一下對比表格:

Feature Forever PM2
Keep Alive ? ?
Coffeescript ?
Log aggregation ?
API ?
Terminal monitoring ?
Clustering ?
JSON configuration ?

我們可以很直觀的看出,pm2相比較Forever,功能更加強(qiáng)大一些。

查看運(yùn)行狀態(tài)

我們可以通過簡單的命令查看應(yīng)用的運(yùn)行狀態(tài):

pm2 list

效果如下:


運(yùn)行狀態(tài)

ANodeBlog應(yīng)用正在運(yùn)行,pid為31480,并且占用內(nèi)存為89.113 MB。

追蹤資源運(yùn)行情況

pm2 monit

會(huì)看到應(yīng)用資源的實(shí)時(shí)運(yùn)行情況


實(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é)果如下:


詳細(xì)運(yùn)行狀態(tài)

查看日志

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

然后瀏覽器訪問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"
    }
  ]
}

然后可以通過

pm2 start process.json

運(yùn)行這個(gè)App。

總結(jié)

常用命令總結(jié)如下:

  1. 安裝pm2
npm install -g pm2
  1. 啟動(dòng)應(yīng)用
pm2 start app.js
  1. 列出所有應(yīng)用
pm2 list
  1. 查看資源消耗
pm2 monit
  1. 查看某一個(gè)應(yīng)用狀態(tài)
pm2 describe [app id]
  1. 查看所有日志
pm2 logs
  1. 重啟應(yīng)用
pm2 restart [app id]
  1. 停止應(yīng)用
pm2 stop [app id]
  1. 開啟api訪問
pm2 web

更多pm2內(nèi)容請參考官方文檔:http://pm2.keymetrics.io/docs/usage/quick-start

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容