<font id="zqva1"></font>
<rt id="zqva1"></rt>
  • <tt id="zqva1"></tt>
    <cite id="zqva1"></cite>

    <cite id="zqva1"><noscript id="zqva1"></noscript></cite>
      <rp id="zqva1"><meter id="zqva1"></meter></rp>

        <cite id="zqva1"></cite>
          <b id="zqva1"></b>
          <rp id="zqva1"></rp>
          <cite id="zqva1"></cite>

          <rt id="zqva1"></rt>

        1. <rp id="zqva1"></rp>

          pm2的使用與總結,一款node.js服務器管工具

          時間:?2017-10-30閱讀:?3926標簽:?pm2

          Node服務常使用的工具是pm2和forever,通過它可以是node的服務在后臺運行。如果站點訪問量不大,不需要監控,可以通過forever來管理多個站點。這邊文章將介紹pm2的主要用法。通過pm2對node進程的管理,可以簡化很多繁瑣的任務,例如性能監控、自動重啟、負載均衡等,同時node的使用也非常簡單。

          pm2全局安裝

          npm install pm2 -g 

          啟動服務

          pm2 start app.js -i [n] --name [name]  // 入口文件是app.js,啟動n個進程,名字命名為name。

          pm2 start app.js --max_memory_restart 1024M : 當內存超過1024M時自動重啟。 如果工程中有比較棘手的內存泄露問題,這個算是一個折中方案。

          重啟服務  

           npm restart [name or id]  

           npm reload [name or id] //和rastart功能相同,但是可以實現0s的無縫銜接;如果有nginx的使用經驗,可以對比nginx reload指令。

          停止服務

          pm2 stop  [name or id]  

          殺死進程  

          pm2 delete [name or id]

          pm2 delete all//刪除所有的進程 

          進程列表

          pm2 list //列出由pm2管理的所有進程信息,還會顯示一個進程會被啟動多少次,狀態,異常等。

          服務監控  

          pm2 monit


          配置pm2啟動文件  

          生成配置文件  

          pm2 ecosystem  configpm.json

          通過配置文件啟動服務  

          pm2 startOrRestart configpm.json

          文件配置

          {
           "apps": [
           {
            "name": "mywork",
            "cwd": "/srv/node-app/current",
            "script": "bin/www",
            "log_date_format": "YYYY-MM-DD HH:mm Z",
            "error_file": "/var/log/node-app/node-app.stderr.log",
            "out_file": "log/node-app.stdout.log",
            "pid_file": "pids/node-geo-api.pid",
            "instances": 6,
            "min_uptime": "200s",
            "max_restarts": 10,
            "max_memory_restart": "1M",
            "cron_restart": "1 0 * * *",
            "watch": false,
            "merge_logs": true,
            "exec_interpreter": "node",
            "exec_mode": "fork",
            "autorestart": false,
            "vizion": false
           }
           ]
          }

          說明  

          apps:json結構,apps是一個數組,每一個數組成員就是對應一個pm2中運行的應用

          name:應用程序名稱

          cwd:應用程序所在的目錄

          script:應用程序的腳本路徑

          error_file:自定義應用程序的錯誤日志文件

          out_file:自定義應用程序日志文件

          pid_file:自定義應用程序的pid文件

          instances:啟用多少個實例,可用于負載均衡。如果-i 0或者-i max,則根據當前機器核數確定實例數目。

          min_uptime:最小運行時間,這里設置的是60s即如果應用程序在60s內退出,pm2會認為程序異常退出,此時觸發重啟max_restarts設置數量

          max_restarts:設置應用程序異常退出重啟的次數,默認15次(從0開始計數)

          cron_restart:定時啟動,解決重啟能解決的問題

          watch:是否啟用監控模式,默認是false。如果設置成true,當應用程序變動時,pm2會自動重載。這里也可以設置你要監控的文件。

          merge_logs:日志

          exec_interpreter:應用程序的腳本類型,這里使用的shell,默認是nodejs

          exec_mode:應用程序啟動模式,這里設置的是cluster_mode(集群),默認是fork

          autorestart:啟用/禁用應用程序崩潰或退出時自動重啟

          vizion:啟用/禁用vizion特性(版本控制)

          總結:pm2的文檔就寫到這里了,使用比較簡單,看一篇基本就可以上手了。

          站長推薦

          1.阿里云: 本站目前使用的是阿里云主機,安全/可靠/穩定。點擊領取2000元代金券、了解最新阿里云產品的各種優惠活動點擊進入

          2.騰訊云: 提供云服務器、云數據庫、云存儲、視頻與CDN、域名等服務。騰訊云各類產品的最新活動,優惠券領取點擊進入

          3.廣告聯盟: 整理了目前主流的廣告聯盟平臺,如果你有流量,可以作為參考選擇適合你的平臺點擊進入

          鏈接: http://www.modern-decoration.com.cn/article/detial/34

          PM2_ Node 應用的進程管理器

          pm2是一個帶有負載均衡功能的 Node 應用的進程管理器。當你要把你的獨立代碼利用全部的服務器上的所有CPU,并保證進程永遠都活著,0秒的重載, PM2是完美的。它非常適合IaaS結構,但不要把它用于PaaS方案

          在生產環境中運行PM2和Node.js

          在Stream,我們構建了許多應用程序來展示我們的服務所提供的出色功能。對于幾乎所有的應用程序,我們都將它們放在一個云服務器上—通常是DigitalOcean或AWS EC2。雖然維護代碼庫和維持它的相關性是有困難的

          PM2實現Nodejs項目自動部署

          首先簡單說下思路:本地git倉庫與遠程倉庫關聯(github、碼云等平臺),然后pm2按照指定配置登錄服務器,拉取遠程倉庫的代碼更新,再執行一些指定的命令(如打包等)。

          pm2 命令使用

          啟動時指定日志存放的文件位置;使用配置文件的方式.注意: 如果你已經啟動過了項目,那么再次啟動項目時指定的日志路徑是不生效的,需要先在pm2實例列表中把該項目清除掉,按照id單個清除如:pm2 delete [id] 或者全部清除掉 pm2 delete all

          pm2常用指令

          node守護進程比較nodemon:開發環境使用,修改后自動重啟。 forever:管理多個站點,每個站點訪問量不大,不需要監控。 pm2:網站訪問量比較大,需要完整的監控界面。

          使用pm2快速將項目部署到遠程服務器

          當我們需要將項目部署到遠程線上服務器時;傳統的方法可能就是:將本地代碼通過ssh、ftp等方式上傳到服務器;然后通過ssh登入到服務器,配置好環境;手動啟動應用。太過手動化,麻煩,操作繁瑣。

          探索 PM2 Cluster 模式下 Log4js 日志丟失

          Node 應用為單線程應用,JS 雖可利用異步 I/O 避免線程阻塞,但無法利用多核 CPU 的優勢提升運行效率,提高吞吐量仍需多線程。Node Cluster 可產生多個工作線程共享同一 TCP 連接,主線程通過 IPC 通道與工作線程通訊,并使用 Round-robin 負載均衡極好的處理線程間壓力。

          內容以共享、參考、研究為目的,不存在任何商業目的。其版權屬原作者所有,如有侵權或違規,請與小編聯系!情況屬實本人將予以刪除!

          文章投稿關于web前端網站點搜索站長推薦網站地圖站長QQ:522607023

          小程序專欄: 土味情話心理測試腦筋急轉彎幽默笑話段子句子語錄成語大全運營推廣

          国产精品高清视频免费 - 视频 - 在线观看 - 影视资讯 - 唯爱网