express框架開發接口部署線上環境PM2

一、PM2介紹

  PM2是一個線上環境下,用於啓動nodejs進程守護的工具,用來保證服務的穩定及分攤服務器進程和壓力。前端

二、下載安裝

  npm install pm2 -g  => pm2 --version  => 在package.json scripts中配置 "prd": "cross-env NODE_ENV=production pm2 start app.js" =>  npm run prd運行,運行結果以下圖:node

三、經常使用命令

  啓動:pm2 start app.jsnpm

  監聽控制檯PM2進程列表: pm2 listjson

  重啓:pm2 restart <AppName> / <id>服務器

  中止和刪除:pm2 stop <AppName> / <id>       pm2 delete <AppName> / <id>app

  基本信息: pm2 info <AppName> / <id>工具

  日誌:pm2 log <AppName> / <id>spa

  監聽進程的CPU和內存信息:pm2 monit <AppName> / <id>rest

四、進程守護

  pm2在後臺代碼遇到意外錯誤時,進程就會重啓,保證服務端能繼續爲前端和客戶端提供服務,並將錯誤信息記錄到日誌中。日誌

五、經常使用配置

  建立pm2.conf.json文件,輸入須要配置的信息,以下:記得刪除註釋

{
    "apps": {
        "name": "pm2-test-server",     //設置app的name
        "script": "app.js",            //啓動的文件
        "watch": true,                 //監聽文件變化自動重啓
        "ignore_watch": [              //不須要監聽重啓
            "node_modules",
            "logs"
        ],
        "instances": 4,                                //設置多進程
        "error_file": "logs/err.log",                  //錯誤日誌地址
        "out_file": "logs/out.log",                    //輸出日誌地址
        "log_date_format": "YYYY-MM-DD HH:mm:ss"       //在日誌中的每一行都要標記時間
    }
}

修改package.json中的"prd": "cross-env NODE_ENV=production pm2 start pm2.conf.json"

相關文章
相關標籤/搜索