<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          pm2配置快速入門

          共 1683字,需瀏覽 4分鐘

           ·

          2021-06-21 22:04

          在對express進行項目部署的時候,我們需要一個東西來守護進程,類似于java中的tomcat一樣,pm2就是一個node進程管理工具,它可以對node應用進行簡化管理,使用起來非常方便。這里只做基本的配置入門介紹。

          1、安裝pm2

          npm install pm2 -g

          如果在windows服務器上,要注意添加pm2環(huán)境變量;具體操作可以找下相關(guān)資料,比較簡單,需要注意一點:path欄指向的是軟件啟動文件所在地址。

          2、常用命令

          這里有些常用命令先貼出來:

          pm2 start app.js --name=fork  -i 0 #啟動app.js 

          # --name=fork 命名為fork
          # -i 0 根據(jù)CPU核數(shù)啟動進程個數(shù)

          pm2 start app.js --watch # 當文件變化時自動重啟應用
          pm2 start script.sh # 啟動 bash 腳本
          pm2 list # 列表 PM2 啟動的所有的應用程序
          pm2 monit # 顯示每個應用程序的CPU和內(nèi)存占用情況
          pm2 show [app-name] # 顯示應用程序的所有信息
          pm2 logs # 顯示所有應用程序的日志
          pm2 stop all # 停止所有的應用程序
          pm2 stop 0 # 停止 id為 0的指定應用程序
          pm2 restart all # 重啟所有應用
          pm2 reload all # 重啟 cluster mode下的所有應用
          pm2 delete all # 關(guān)閉并刪除所有應用
          pm2 delete 0 # 刪除指定應用 id 0
          pm2 scale api 10 # 把名字叫api的應用擴展到10個實例pm2 reset [app-name] # 重置重啟數(shù)量
          pm2 startup # 創(chuàng)建開機自啟動命令
          pm2 save # 保存當前應用列表
          pm2 resurrect # 重新加載保存的應用列表

          #內(nèi)存使用超過上限自動重啟 可以加上--max-memory-restart參數(shù)
          pm2 start app.js --max-memory-restart 20M

          3、pm2啟動項目

          pm2 start ./bin/www

          4、管理內(nèi)存溢出問題

          如果遇到內(nèi)存溢出問題,進程崩掉了,這時需要重啟進程。

          有一種方法是在啟動時設(shè)置內(nèi)存閾值重啟,就是這樣:

          pm2 start www --max-memory-restart 4096M

          不過我在實際操作中發(fā)現(xiàn)此命令無效,我后來改成6G都沒法阻止重啟,服務一調(diào)用就直接js heap out of memory了。

          最后,實在沒辦法,只有不用pm2,直接用npm啟動

          這需要在package.json文件中的啟動節(jié)點進行最大內(nèi)存配置:

          "scripts": {
              "start""node --max_old_space_size=4096 ./bin/www"
            }

          然后啟動就可以了

          npm start

          進程因為內(nèi)存溢出崩掉后也會自動重啟


          瀏覽 183
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美www.777 | 欧美国产A片 | 操逼777| 日本zaixian三区 | 中文字幕日亚州 |