強大的node進程管理器——PM2

最近,我在搭建個人博客的時候,才注意到node的進程管理器原來除了forever,還有個pm2,看了下官方文檔,確實不錯!

運行模式

  1. fork_mode
  2. cluster_mode
    pm2 start app.js 默認開啟的是fork模式,pm2 start app.js -i max 是開啟cluster模式(集群模式)。cluster模式的好處,請自行百度。

pm2可以通過配置文件啟動1個或多個node應(yīng)用

// process.json(也可以yml等配置文件)
{
  "apps" : [{
    "name"      : "myblog",
    "script"    : "app.js",
    "instances" : 2, //利用2個核心
    "exec_mode" : "cluster"
  },{
    "name"      : "myblog-test",
    "script"    : "app.js",
    "instances" : "max",
    "exec_mode" : "cluster",
    "watch"     : true,
    "env": {
      "NODE_ENV": "development"
    },
    "env_production" : {
       "NODE_ENV": "production"
    },
    "interpreter"   : "/usr/bin/node",
    "interpreter_args"  :  "--harmony",
    "node_args"   : "--harmony", 
    "log_date_format"   : "YYYY-MM-DD HH:mm Z",
    "error_file"        :  "/web/klhut/www/logs/err.log",
    "out_file"          :  "/web/klhut/www/logs/out.log",
    "pid_file"          : "/web/klhut/www/logs/app-id.pid"
  }]
}
// 啟動應(yīng)用
pm2 start process.json

由于我還使用了nvm管理node版本,所以我在項目目錄下創(chuàng)建了個.nvmrc文件

$  touch .nvmrc
$  echo 7 > .nvmrc  

并在package.json里寫了幾個命令

"scripts": {
  "start": "shell=(nvm use 7 ) && pm2 start ./process.json",
  "restart": "pm2 restart ./process.json",
  "stop": "pm2 stop ./process.json",
  "delete": "npm run stop && pm2 delete ./process.json"
}

pm2還可以設(shè)置開機自啟動

$ pm2 save
$ pm2  startup centos       //我的服務(wù)器是centos 7.x的,具體看文檔

暫時就到這里:P

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容