最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用PM2部署node.js項(xiàng)目的方法教程

 更新時(shí)間:2017年05月10日 10:22:59   作者:passerbyli  
pm2 = P (rocess) M (anager)2,是可以用于生產(chǎn)環(huán)境的Nodejs的進(jìn)程管理工具,并且它內(nèi)置一個(gè)負(fù)載均衡。下面這篇文章主要給大家介紹了利用PM2部署node.js項(xiàng)目的方法教程,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

大家在開發(fā)中應(yīng)該發(fā)現(xiàn)了,如果直接通過node app來啟動(dòng),如果報(bào)錯(cuò)了可能直接停在整個(gè)運(yùn)行,supervisor感覺只是拿來用作開發(fā)環(huán)境的。再網(wǎng)上找到pm2.目前似乎最常見的線上部署nodejs項(xiàng)目的有forever,pm2這兩種。下面本文將詳細(xì)介紹利用PM2部署node.js項(xiàng)目的方法教程,需要的朋友們下面來一起看看詳細(xì)的介紹:

使用場(chǎng)合:

  • supervisor是開發(fā)環(huán)境用。
  • forever管理多個(gè)站點(diǎn),每個(gè)站點(diǎn)訪問量不大,不需要監(jiān)控。
  • pm2 網(wǎng)站訪問量比較大,需要完整的監(jiān)控界面。

PM2的主要特性:

  • 內(nèi)建負(fù)載均衡(使用Node cluster 集群模塊)
  • 后臺(tái)運(yùn)行
  • 0秒停機(jī)重載,我理解大概意思是維護(hù)升級(jí)的時(shí)候不需要停機(jī).
  • 具有Ubuntu和CentOS 的啟動(dòng)腳本
  • 停止不穩(wěn)定的進(jìn)程(避免無限循環(huán))
  • 控制臺(tái)檢測(cè)
  • 提供 HTTP API
  • 遠(yuǎn)程控制和實(shí)時(shí)的接口API ( Nodejs 模塊,允許和PM2進(jìn)程管理器交互 )

安裝

npm install -g pm2

用法

$ npm install -g pm2 命令行全局安裝pm2

$ pm2 start app.js 啟動(dòng)app項(xiàng)目

$ pm2 list 列出由pm2管理的所有進(jìn)程信息,還會(huì)顯示一個(gè)進(jìn)程會(huì)被啟動(dòng)多少次,因?yàn)闆]處理的異常。

$ pm2 monit 監(jiān)視每個(gè)node進(jìn)程的CPU和內(nèi)存的使用情況

$ pm2 logs 顯示所有進(jìn)程日志

$ pm2 stop all 停止所有進(jìn)程

$ pm2 restart all 重啟所有進(jìn)程

$ pm2 reload all 0秒停機(jī)重載進(jìn)程 (用于 NETWORKED 進(jìn)程)

$ pm2 stop 0 停止指定的進(jìn)程

$ pm2 restart 0 重啟指定的進(jìn)程

$ pm2 startup 產(chǎn)生 init 腳本 保持進(jìn)程活著

$ pm2 web 運(yùn)行健壯的 computer API endpoint (http://localhost:9615)

運(yùn)行進(jìn)程的不同方式:

$ pm2 start app.js -i max 根據(jù)有效CPU數(shù)目啟動(dòng)最大進(jìn)程數(shù)目

$ pm2 start app.js -i 3 啟動(dòng)3個(gè)進(jìn)程

$ pm2 start app.js -x 用fork模式啟動(dòng) app.js 而不是使用 cluster

$ pm2 start app.js -x -- -a 23 用fork模式啟動(dòng) app.js 并且傳遞參數(shù) (-a 23)

$ pm2 start app.js --name serverone 啟動(dòng)一個(gè)進(jìn)程并把它命名為 serverone

$ pm2 stop serverone 停止 serverone 進(jìn)程

$ pm2 start app.json 啟動(dòng)進(jìn)程, 在 app.json里設(shè)置選項(xiàng)

$ pm2 start app.js -i max -- -a 23 在--之后給 app.js 傳遞參數(shù)

$ pm2 start app.js -i max -e err.log -o out.log 啟動(dòng) 并 生成一個(gè)配置文件

配置pm2啟動(dòng)文件

在項(xiàng)目根目錄添加一個(gè)processes.json:

內(nèi)容如下:

{
 "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結(jié)構(gòu),apps是一個(gè)數(shù)組,每一個(gè)數(shù)組成員就是對(duì)應(yīng)一個(gè)pm2中運(yùn)行的應(yīng)用
  • name:應(yīng)用程序名稱
  • cwd:應(yīng)用程序所在的目錄
  • script:應(yīng)用程序的腳本路徑
  • log_date_format:
  • error_file:自定義應(yīng)用程序的錯(cuò)誤日志文件
  • out_file:自定義應(yīng)用程序日志文件
  • pid_file:自定義應(yīng)用程序的pid文件
  • instances:
  • min_uptime:最小運(yùn)行時(shí)間,這里設(shè)置的是60s即如果應(yīng)用程序在60s內(nèi)退出,pm2會(huì)認(rèn)為程序異常退出,此時(shí)觸發(fā)重啟max_restarts設(shè)置數(shù)量
  • max_restarts:設(shè)置應(yīng)用程序異常退出重啟的次數(shù),默認(rèn)15次(從0開始計(jì)數(shù))
  • cron_restart:定時(shí)啟動(dòng),解決重啟能解決的問題
  • watch:是否啟用監(jiān)控模式,默認(rèn)是false。如果設(shè)置成true,當(dāng)應(yīng)用程序變動(dòng)時(shí),pm2會(huì)自動(dòng)重載。這里也可以設(shè)置你要監(jiān)控的文件。
  • merge_logs:
  • exec_interpreter:應(yīng)用程序的腳本類型,這里使用的shell,默認(rèn)是nodejs
  • exec_mode:應(yīng)用程序啟動(dòng)模式,這里設(shè)置的是cluster_mode(集群),默認(rèn)是fork
  • autorestart:啟用/禁用應(yīng)用程序崩潰或退出時(shí)自動(dòng)重啟
  • vizion:啟用/禁用vizion特性(版本控制)

可以通過pm2 start processes.json來啟動(dòng)。

也可以把命令寫在package.json里。如下:

通過npm run pm2來啟動(dòng)。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • node thread.sleep實(shí)現(xiàn)示例

    node thread.sleep實(shí)現(xiàn)示例

    這篇文章主要介紹了node thread.sleep實(shí)現(xiàn)示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • node vue項(xiàng)目開發(fā)之前后端分離實(shí)戰(zhàn)記錄

    node vue項(xiàng)目開發(fā)之前后端分離實(shí)戰(zhàn)記錄

    其實(shí)基于vue.js+node.js構(gòu)建的開源博客系統(tǒng)有很多,下面這篇文章主要給大家介紹了關(guān)于node vue項(xiàng)目開發(fā)之前后端分離的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面來一起看看吧。
    2017-12-12
  • node.js中的fs.readlink方法使用說明

    node.js中的fs.readlink方法使用說明

    這篇文章主要介紹了node.js中的fs.readlink方法使用說明,本文介紹了fs.readlink方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 詳解node+express+ejs+bootstrap構(gòu)建項(xiàng)目

    詳解node+express+ejs+bootstrap構(gòu)建項(xiàng)目

    本篇文章主要介紹了詳解node+express+ejs+bootstrap構(gòu)建項(xiàng)目,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-09-09
  • Node.js在圖片模板上生成二維碼圖片并附帶底部文字說明實(shí)現(xiàn)詳解

    Node.js在圖片模板上生成二維碼圖片并附帶底部文字說明實(shí)現(xiàn)詳解

    這篇文章主要介紹了Node.js在圖片模板上生成二維碼圖片并附帶底部文字說明實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • nodejs創(chuàng)建簡(jiǎn)易web服務(wù)器與文件讀寫的實(shí)例

    nodejs創(chuàng)建簡(jiǎn)易web服務(wù)器與文件讀寫的實(shí)例

    下面小編就為大家?guī)硪黄猲ode js系列課程-創(chuàng)建簡(jiǎn)易web服務(wù)器與文件讀寫的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Node.js 服務(wù)器端應(yīng)用開發(fā)框架 -- Hapi.js

    Node.js 服務(wù)器端應(yīng)用開發(fā)框架 -- Hapi.js

    Hapi.js 是一個(gè)用來構(gòu)建基于 Node.js 的應(yīng)用和服務(wù)的富框架,使得開發(fā)者把重點(diǎn)放在便攜可重用的應(yīng)用邏輯而不是構(gòu)建架構(gòu)。內(nèi)建輸入驗(yàn)證、緩存、認(rèn)證和其他 Web 應(yīng)用開發(fā)常用的功能。
    2014-07-07
  • nodejs結(jié)合Socket.IO實(shí)現(xiàn)的即時(shí)通訊功能詳解

    nodejs結(jié)合Socket.IO實(shí)現(xiàn)的即時(shí)通訊功能詳解

    這篇文章主要介紹了nodejs結(jié)合Socket.IO實(shí)現(xiàn)的即時(shí)通訊功能,結(jié)合實(shí)例形式詳細(xì)分析了nodejs結(jié)合Socket.IO實(shí)現(xiàn)即時(shí)通訊的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-01-01
  • Node.js連接數(shù)據(jù)庫(kù)實(shí)現(xiàn)過程詳解

    Node.js連接數(shù)據(jù)庫(kù)實(shí)現(xiàn)過程詳解

    這篇文章主要為大家介紹了Node.js連接數(shù)據(jù)庫(kù)實(shí)現(xiàn)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • NodeJS http模塊用法示例【創(chuàng)建web服務(wù)器/客戶端】

    NodeJS http模塊用法示例【創(chuàng)建web服務(wù)器/客戶端】

    這篇文章主要介紹了NodeJS http模塊用法,結(jié)合實(shí)例形式分析了node.js創(chuàng)建web服務(wù)器與客戶端,進(jìn)行HTTP通信的相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-11

最新評(píng)論

黎城县| 通许县| 宁阳县| 龙南县| 科技| 特克斯县| 涿州市| 阿坝县| 永吉县| 正镶白旗| 石景山区| 嘉善县| 东乌珠穆沁旗| 绩溪县| 垫江县| 大英县| 名山县| 来凤县| 渑池县| 奉贤区| 韶关市| 合川市| 商南县| 丰原市| 山东| 荔波县| 孟津县| 宁海县| 和政县| 津南区| 钟祥市| 平定县| 海城市| 儋州市| 开鲁县| 望谟县| 新巴尔虎右旗| 石屏县| 布拖县| 潼南县| 枣强县|