PM2進程守候

PM2

  1. PM2的核心價值(npm run prd 即可)

    1. 進程守護, 系統(tǒng)崩潰自動重啟(一直重啟)
    2. 啟用多進程, 充分利用CPU和內(nèi)存
    3. 自帶日志記錄功能(之前的console.log 和 console.error會自動記錄在配置的文件內(nèi))
  2. PM2介紹

    1. 下載安裝
      npm i pm2 -g 下載
      pm2 --version 查看版本

    2. 基本使用

      1. 配置啟動命令: "prd": "cross-env NODE_ENV=dev pm2 start ./app.js"
      2. 啟動完, 會告知pm2配置, 且交還控制臺(nodemon會在前臺運行)
    3. 常用命令
      pm2 start ... 啟動項目
      pm2 list 在控制臺看到pm的配置列表
      pm2 restart <AppName>/<id> 根據(jù)appname/id(pm的配置列表有), 重啟某個服務(wù)
      pm2 stop <AppName>/<id> 停止
      pm2 delete <AppName>/<id> 刪除
      pm2 info <AppName>/<id> 服務(wù)信息
      pm2 log <AppName>/<id> 查看進程日志
      pm2 monit <AppName>/<id> 查看進程cpu和進程的信息

    4. 常用配置

      1. 新建pm2的配置文件(包括進程數(shù)量, 日志文件目錄等)

            {
                "apps": {
                    "name": "pm2-server",  // 啟動時候, 進程名稱
                    "script": "app.js",    // 啟動目錄文件
                    "watch": true,         // 監(jiān)聽文件變化, 自動啟動
                    "ignore_watch": [
                        "node_modules",    // 忽略node_modules
                        "logs"             // 忽略logs文件變化
                    ],
                    "instances": 4,        // 多進程
                    "error_file": "logs/err.log",   // 錯誤日志寫入
                    "out_file": "logs/out.log",     // 輸出日志
                    "log_date_formate": "YYYY-MM-DD HH:mm:ss"   // 輸出日志時間格式
                }
            }
        
        pm2.png
    2. 修改pm2啟動命令, 重啟
        1. 修改啟動命令: `"prd": "cross-env NODE_ENV=dev pm2 start pm2.conf.json"`
        2. 重啟

    3. 訪問server, 檢查日志文件內(nèi)容(日志文件是否生效)
        1. 就已經(jīng)有訪問記錄

5. pm2的多進程

    1. 多進程優(yōu)勢, 單個進程內(nèi)存的內(nèi)存受限(內(nèi)存充分使用), 充分發(fā)揮多核CPU的優(yōu)勢
    2. 多進程劣勢, 數(shù)據(jù)不共享, redis解決
    3. 自動負(fù)載均衡, 具體表現(xiàn)在, 日志文件按照進程的響應(yīng)不同, 生成多個日志文件

![pm2多進程.png](https://upload-images.jianshu.io/upload_images/4363630-1bc626c388518a5f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
最后編輯于
?著作權(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ù)。

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