亚洲 国产精品 日韩-亚洲 激情-亚洲 欧美 91-亚洲 欧美 成人日韩-青青青草视频在线观看-青青青草影院

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 使用PM2在節(jié)點(diǎn).js中進(jìn)行進(jìn)程管理

使用PM2在節(jié)點(diǎn).js中進(jìn)行進(jìn)程管理

來源:千鋒教育
發(fā)布人:syq
時(shí)間: 2022-09-14 11:24:42 1663125882

  Node.js非常擅長處理I / O操作,但是當(dāng)涉及到CPU密集型任務(wù)時(shí),它會(huì)崩潰。您可以通過運(yùn)行繁重的操作來輕松停止應(yīng)用程序,并且由于 Node.js是單線程的,因此它將阻止進(jìn)一步的請(qǐng)求。

0.3837566690725658

  現(xiàn)在,要處理此問題,您可以生成與主進(jìn)程并行的子進(jìn)程,以便每當(dāng)有新請(qǐng)求傳入時(shí),它都將由此新進(jìn)程處理。Node.js中的本機(jī)群集模塊允許您手動(dòng)配置應(yīng)用程序以生成子進(jìn)程的群集。但是,如果有一個(gè)包可以為您處理它,那不是更好嗎?

  PM2是一個(gè)進(jìn)程管理器,它負(fù)責(zé)從處理多個(gè)進(jìn)程到設(shè)置特定于環(huán)境的部署策略,再到將日志保存到系統(tǒng)中的所有事務(wù)。這是一個(gè)功能豐富的庫,是Node.js社區(qū)中粉絲的最愛,這篇博客文章將介紹其中的一些關(guān)鍵功能。讓我們開始!

  基本設(shè)置

  要將其安裝在系統(tǒng)上,可以鍵入 。最好將其全局安裝,以便您可以直接在命令行中使用pm2。我們將使用具有單個(gè)終結(jié)點(diǎn)的簡單快速應(yīng)用程序。因此,在空目錄中,首先通過鍵入 來創(chuàng)建節(jié)點(diǎn)項(xiàng)目。之后,您可以通過鍵入 來安裝 express?,F(xiàn)在,創(chuàng)建一個(gè)名為 main.js的文件,并將此代碼段復(fù)制到該文件中。npm i -g pm2npm init -ynpm i express

1

  現(xiàn)在,我們通常使用 來運(yùn)行我們的應(yīng)用程序,但現(xiàn)在我們使用 pm2,我們可以使用 。node main.jspm2 start main.js

2

  您將獲得此表,其中顯示名稱/ID、CPU/內(nèi)存消耗以及運(yùn)行應(yīng)用程序的進(jìn)程的狀態(tài)等詳細(xì)信息。您還可以選擇使用標(biāo)志為進(jìn)程顯式提供名稱。如果您沒有顯式為其指定名稱,它將使用文件名作為進(jìn)程的名稱。name

  現(xiàn)在在屏幕截圖中,應(yīng)用程序似乎已停止。在表格之前,您會(huì)看到“完成”消息,但在表格之后,您看不到任何內(nèi)容。但是,如果您打開瀏覽器并轉(zhuǎn)到相應(yīng)鏈接,您將看到我們從 API 終端節(jié)點(diǎn)發(fā)回的“請(qǐng)求成功”消息。因此,應(yīng)用程序仍在運(yùn)行。只是pm2守護(hù)它,這基本上意味著它在后臺(tái)運(yùn)行進(jìn)程,僅此而已。

  進(jìn)程管理命令

  在任何給定點(diǎn),都可以通過鍵入 或 或 來查看進(jìn)程的狀態(tài)。pm2 statuspm2 lspm2 list

  您可以通過 使用后跟進(jìn)程的名稱或 ID(或 )來停止進(jìn)程。您還可以使用 來停止所有進(jìn)程。停止進(jìn)程后,請(qǐng)嘗試向應(yīng)用程序發(fā)出請(qǐng)求,看看它是否正常工作。附言:不應(yīng)該。pm2 stoppm2 stop mainpm2 stop 0pm2 stop all

  pm2 delete后跟進(jìn)程的名稱或 ID,將從列表中刪除該進(jìn)程。( 或 )。您還可以使用 刪除所有進(jìn)程。pm2 delete mainpm2 delete 0pm2 delete all

  還有 2 個(gè)命令可幫助您管理流程。一個(gè)是命令,另一個(gè)是命令。這兩個(gè)命令本質(zhì)上都重新運(yùn)行進(jìn)程,但區(qū)別在于它們?nèi)绾螆?zhí)行。restartreload

  A 將首先終止該進(jìn)程,然后再次啟動(dòng)它。因此,重新啟動(dòng)進(jìn)程時(shí)會(huì)涉及一些停機(jī)時(shí)間。pm2 restart

  另一方面,A 將在后臺(tái)創(chuàng)建一個(gè)新進(jìn)程。只有當(dāng)這個(gè)新進(jìn)程被創(chuàng)建時(shí),它才會(huì)殺死舊的進(jìn)程。這可確保在重新加載進(jìn)程時(shí)不會(huì)出現(xiàn)停機(jī)。如果由于某種原因重新加載不起作用,它最終會(huì)在特定時(shí)間后回退到經(jīng)典重啟。pm2 reload

  熱重載

  使用 Node.js 運(yùn)行應(yīng)用程序時(shí),每次在應(yīng)用程序中進(jìn)行更改時(shí)都需要重新啟動(dòng)服務(wù)器。Nodemon是一個(gè)流行的庫,每當(dāng)服務(wù)器檢測(cè)到更改時(shí),它就會(huì)重新啟動(dòng)服務(wù)器。您可以使用該標(biāo)志在pm2中實(shí)現(xiàn)相同的目標(biāo)。因此,如果在結(jié)束時(shí)提供監(jiān)視標(biāo)志,則在啟動(dòng)任何進(jìn)程時(shí),它將偵聽更改,然后自動(dòng)重新啟動(dòng)服務(wù)器(watchpm2 start main.js --watch)

  其他一些啟動(dòng)選項(xiàng)

  最大內(nèi)存重啟<200MB> — 此選項(xiàng)將在進(jìn)程達(dá)到特定內(nèi)存限制時(shí)重新啟動(dòng)進(jìn)程。您可以指定內(nèi)存限制,單位為千字節(jié) (K)、兆字節(jié) (M) 或千兆字節(jié) (G)

  日志 <文件路徑> — Log 將指定要在其中存儲(chǔ)應(yīng)用程序日志的文件。嘗試啟動(dòng)進(jìn)程,但這次,請(qǐng)?jiān)谀┪彩褂脦в腥罩疚募Q的日志標(biāo)志。

  現(xiàn)在,如果向光源終結(jié)點(diǎn)發(fā)出請(qǐng)求,則會(huì)在項(xiàng)目文件夾中看到一個(gè)名為 logFile.txt。此文件的頂部將包含 log 語句。pm2 start main.js --log ./logFile.txt

  重新啟動(dòng)延遲<以毫秒為單位>將在自動(dòng)重新啟動(dòng)之間添加延遲。

  時(shí)間標(biāo)志將為所有日志添加時(shí)間戳。重新啟動(dòng)應(yīng)用程序,但這次在末尾附加時(shí)間標(biāo)志。.現(xiàn)在向終結(jié)點(diǎn)發(fā)出請(qǐng)求,你將在日志文件中看到記錄的消息之前的時(shí)間戳。pm2 restart 0 --time

  無自動(dòng)重新啟動(dòng)將禁用自動(dòng)重新啟動(dòng)。當(dāng)您想要執(zhí)行一次性腳本并且不希望進(jìn)程管理器在腳本完成運(yùn)行后重新啟動(dòng)腳本時(shí),這是有道理的。

  cron標(biāo)志將根據(jù)您添加的cron表達(dá)式間隔重新啟動(dòng)該過程,我有一個(gè)單獨(dú)的視頻詳細(xì)解釋了cron表達(dá)式,如果您想了解更多信息,可以查看它。

  無守護(hù)進(jìn)程標(biāo)志不會(huì)妖魔化您的 pm2 進(jìn)程。因此,您現(xiàn)在不會(huì)在后臺(tái)運(yùn)行它,而是在控制臺(tái)本身上看到所有日志和事件,就像在典型的節(jié)點(diǎn)執(zhí)行中一樣。

  現(xiàn)在,我們?cè)趩?dòng)或重新啟動(dòng)進(jìn)程時(shí)手動(dòng)添加這些選項(xiàng)是沒有意義的。相反,我們要做的是添加一個(gè)配置文件,該文件將包含所有這些選項(xiàng),以便每當(dāng)我們啟動(dòng)應(yīng)用程序時(shí),它始終在啟用這些選項(xiàng)的情況下運(yùn)行。

  創(chuàng)建 pm2 配置文件

  要生成此配置文件,請(qǐng)?jiān)诳刂婆_(tái)中鍵入 。這將創(chuàng)建一個(gè)名為生態(tài)系統(tǒng).config.js。如果要?jiǎng)?chuàng)建自己的配置文件,請(qǐng)確保它以 結(jié)尾,以便 PM2 能夠?qū)⑵渥R(shí)別為配置文件。在文件中,復(fù)制此代碼段。pm2 init simple.config.js

3

  我將解釋我們?cè)谶@里使用的選項(xiàng)。

  名稱:進(jìn)程的名稱

  腳本:要執(zhí)行的腳本的位置

  監(jiān)視:跟蹤更改并重新啟動(dòng)進(jìn)程

  ignore_watch:不會(huì)跟蹤一組文件/文件夾的更改

  time:將時(shí)間戳附加到日志文件中的日志語句

  out_file和error_file:將相應(yīng)的日志語句添加到這些文件

  您還可以添加特定于環(huán)境的選項(xiàng),例如,如果環(huán)境變量值在測(cè)試和生產(chǎn)模式之間發(fā)生更改,則可以在內(nèi)部或分別添加這些變量。envenv_production

  稍后在切換到群集模式時(shí),我們將添加一些額外的選項(xiàng),但就目前而言,這看起來不錯(cuò)。

  現(xiàn)在,我們可以運(yùn)行配置文件 (),而不是使用 ,它將反過來為我們運(yùn)行腳本。您可以在應(yīng)用程序數(shù)組中添加多個(gè)非節(jié)點(diǎn).js應(yīng)用程序,它仍然可以工作。PM2不僅局限于節(jié)點(diǎn).js。您可以從其他語言(如python)運(yùn)行進(jìn)程,例如,使用pm2。pm2 start main.jspm2 start ecosystem.config.js

  現(xiàn)在我們對(duì)pm2有了一些了解,讓我們看看它如何幫助管理多個(gè)進(jìn)程。在配置文件中,添加 2 個(gè)額外的選項(xiàng),exec_mode和實(shí)例。

4

  當(dāng)您想要為應(yīng)用程序啟動(dòng)進(jìn)程集群時(shí),需要將exec_mode設(shè)置為“集群”。默認(rèn)情況下,它設(shè)置為“分叉”。

  設(shè)置集群時(shí),您需要說明需要多少個(gè)流程實(shí)例。您可以傳遞 0/max,這將使進(jìn)程旋轉(zhuǎn)等于系統(tǒng)中的內(nèi)核數(shù)。-1 將比最大值少旋轉(zhuǎn) 1,如果你傳入任何其他數(shù)字,它將啟動(dòng)那么多進(jìn)程。

  現(xiàn)在,如果您運(yùn)行配置文件,您將看到一堆進(jìn)程同時(shí)運(yùn)行(在我的情況下是8,因?yàn)槲矣幸粋€(gè)8核系統(tǒng))。您還會(huì)注意到,執(zhí)行模式已更改為“群集”。

5

  PM2具有高級(jí)儀表板,可讓您監(jiān)控流程。您可以運(yùn)行配置文件,然后使用命令打開此儀表板。pm2 monit

6

  它為您提供了所有流程的更實(shí)時(shí)視圖。您可以單獨(dú)檢查系統(tǒng)中每個(gè)進(jìn)程的資源消耗和分配。還有一個(gè)日志部分,您可以在其中實(shí)時(shí)跟蹤所有日志。

  好吧,這篇博客文章差不多就是這樣。這是對(duì)pm2及其方便功能的簡要概述。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
什么是PlatformIo?

PlatformIO是什么PlatformIO是一個(gè)全面的物聯(lián)網(wǎng)開發(fā)平臺(tái),它為眾多硬件平臺(tái)和開發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡化了開發(fā)過程,并能兼容各種...詳情>>

2023-10-14 12:55:06
云快照與自動(dòng)備份有什么區(qū)別?

1、定義和目標(biāo)不同云快照的主要目標(biāo)是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時(shí)間點(diǎn)后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動(dòng)備份的主要目標(biāo)...詳情>>

2023-10-14 12:48:59
服務(wù)器為什么要用Linux?

服務(wù)器為什么要用Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,Linux在眾多選擇中脫穎而出。Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,有其獨(dú)特的優(yōu)勢(shì)和特點(diǎn)。包括其...詳情>>

2023-10-14 12:34:11
ORM解決的主要問題是什么?

ORM(對(duì)象關(guān)系映射)解決的主要問題是將關(guān)系數(shù)據(jù)庫與面向?qū)ο缶幊讨g的映射困境。在傳統(tǒng)的關(guān)系數(shù)據(jù)庫中,數(shù)據(jù)以表格的形式存儲(chǔ),而在面向?qū)ο?..詳情>>

2023-10-14 12:26:19
Go為什么不支持三元運(yùn)算符?

Go為什么不支持三元運(yùn)算符Go語言是一種以簡潔和有效性為目標(biāo)的編程語言,因此在設(shè)計(jì)過程中,Go的設(shè)計(jì)者刻意排除了一些他們認(rèn)為可能導(dǎo)致復(fù)雜性或...詳情>>

2023-10-14 12:12:36
快速通道
欧美人与牲动交a欧美精品| 国产成人AV综合亚洲色欲美女| 被男狂揉吃奶胸高潮视频在线观看| 东北少妇大叫高潮XXXⅩ| 国产欧美另类精品久久久| 精品少妇无码一区二区三批| 免费看国产成年无码AV片| 日本VA欧美VA欧美VA精品| 无遮挡边吃奶边做刺激视频| 亚洲一区二区三区在线播放无码| 18禁H漫免费漫画无码网站国产 | 日韩内射美女人妻一区二区三区| 无码精品A∨在线观看中文| 亚洲色偷无码一区二区蜜桃AV| 99久久亚洲精品无码毛片 | SUNTEK中老年妈妈| 国产精品揄拍100视频| 人妻另类 专区 欧美 制服| 久久久无码精品午夜| 日本按摩高潮S级中文片| 亚洲国产成人精品无码一区二区 | 久久综合亚洲色一区二区三区| 欧美人与性口牲恔配视频o| 四虎精品成人免费视频| 野花日本韩国视频免费高清观看 | 无码人妻精品内射一二三AV| 一本丁香综合久久久久不卡网站| 成人欧美一区二区三区1314| 精品国产一二三产品区别在哪| 欧美牲交视频免费观看| 亚洲AV免费高潮喷水| 999国产精品999久久久久久| 国产精品特级露脸AV毛片| 麻豆AV一区二区三区久久| 十八禁啪啪污污网站免费下载 | 里番ACG★同人里番本子大全| 少妇无码一区二区三区| 与子乱刺激对白在线播放| 丰满人妻被黑人猛烈进入| 久久天天躁狠狠躁夜夜96流白浆| 少妇爆乳无码AV无码专区| 呦小BBW搡BBBB搡BBBB| 国产精品VIDEOS麻豆| 妺妺窝人体色www聚色窝图| 性刺激性色爽爱小说| MM131美女图片高清图片视频| 狠狠噜天天噜日日噜视频跳一跳 | 亚洲AV鲁丝一区二区三区| A级毛片免费观看在线| 狠狠精品干练久久久无码中文字幕| 人妻人人做人碰人人添青青| 亚洲乱码中文字幕综合234| 绯色AV一区二区三区3∪8| 久久久精品人妻一区亚美研究所| 少妇无码一区二区三区免费| 中文字幕AV无码一二三区电影| 国产经典一区二区三区蜜芽| 美女喷水一区国产| 亚洲AV成人精品午夜一区二区| 爱丫爱丫影院电影网| 久久青青草原精品国产APP| 无码国模大尺度视频在线观看| 99精品国产一区二区三区| 精品人妻少妇嫩草Av无码专区| 四季亚洲Av日韩AV无码中文| AV无码免费无禁网站| 久久久久精品国产AV麻豆| 小蜜被两老头吸奶头| 成人毛片18女人毛片免费看快色| 里面也请好好疼爱第三季| 亚洲AV无码国产综合专区| 俄罗斯卖CSGO的网站| 欧美人与动牲猛交XXXXBBB| 亚洲一区二区女搞男| 国产群交视频一区二区三区铁牛| 日本JAPANESE 办公室丝| 中文字幕乱码一区二区三区免费| 好爽…又高潮了粉色视频| 四虎AV永久在线精品免费观看| BBOX撕裂BASS后门BD| 浪荡艳妇爆乳JUFD汗だく肉感| 亚洲VA综合VA国产产VA中| 国产成人艳妇AA视频在线| 日本免码VA在线看免费最新 | 亚洲不乱码卡一卡二卡4卡5卡| 国产AV一区二区三区天堂综合网| 欧美色欧美亚洲另类二区| 正文畸情~内裤奇缘小说| 精品无人区一线二线三线区别| 无码天堂亚洲国产AV久久| 第一次爱的人免费观看电视剧| 欧美肉欲XXⅩOOOHD| 18禁又污又黄又爽的网站| 老男人久久青草AV高清| 亚洲欧美日韩综合久久| 国内自产少妇自拍区免费| 无人区码卡二卡乱码中国字幕| 国产AV无码精品色午夜| 色视频WWW在线播放国产人成| 扒开女人P添大荫蒂| 欧美成人综合久久精品| 18禁美女裸体爆乳无遮挡动图| 狼友AV永久网站免费观看武| 亚洲一区二区三区中文字幕在线 | 国产精品视频一区二区三区无码 | 给老子叫 老子喜欢听| 日本丰满少妇毛茸茸| WWW久久久天天COM| 欧美人与ZOZOXXXX视频| 131美女爱做视频国产福利| 麻豆成人传媒一区二区| 在线播放国产精品三级网| 久久久无码精品亚洲日韩按摩| 亚洲日韩欧洲无码A∨夜夜| 精品亚洲韩国一区二区三区| 亚洲精品无码精品MV在线观看 | 亚洲欧美性爱视频| 精品综合无码奶水一区二区| 亚洲乱码日产精品BD| 精品久久久久久无码国产| 亚洲精品无码久久不卡| 久久成人国产精品无码| 野花韩国高清免费神马百度| 久久人人妻人人爽人人爽| 曰韩无码二三区中文字幕| 蜜臀AV在线无码国产| 42岁女子经历20天断崖式衰老| 女人被爽到呻吟GIF动态图| A级大胆欧美人体大胆666| 秋霞电影院yy2933| 成人做受120视频试看| 四虎影视国产精品久久| 国产美足白丝榨精在线观看sm | 色哟哟最新在线观看入口| 夫前人妻被灌醉侵犯在线| 天堂√最新版中文在线| 国产精品自在线拍国产手机版| 亚洲 小说区 图片区 都市| 激情影院内射美女| 一本大道东京热无码AV| 男女24式动态图| 被村长狂躁俩小时玉婷视频| 少洁白妇无删减全文阅读| 国产女人乱子对白AV片| 亚洲成A人片在线观看无遮挡| 精品日本久久久久久人妻日本| 一本一本大道香蕉久在线精品| 妺妺窝人体色聚色窝www视频| CEK俄罗斯BNAE0| 少妇伦子伦精品无吗| 国产性夜夜春夜夜爽| 亚洲欧洲日产国码AⅤ | 8AV国产精品爽爽ⅤA在线观看| 人妻无码一区二区三区久| 国产成人综合久久久久久| 亚洲成A人片在线观看你懂的| 巨大黑人XXXXX高潮| VODAFONEWIFI暴力| 偷欢人妻激情系列| 精品久久久无码人妻中文字幕| 中文在线天堂А√在线| 日本伊人色综合网| 国产香蕉97碰碰视频VA碰碰看| 亚洲性色AV一区二区三区| 欧美性生交XXXXX久久久| 国产大学生粉嫩无套流白浆| 亚洲国产成人无码电影| 男配每天都在体内成结节| 丰满少妇张开双腿无码AV| 亚洲成a人片在线观看无码关注| 里面也请好好疼爱第三季| 成人美女黄网站18禁免费| 亚洲AV熟女高潮30P| 免费无码鲁丝片一区二区| 丰满少妇人妻HD高清果冻传媒| 亚洲VA中文字幕无码久久不卡| 蜜桃AV麻豆AV天美AV| 夫妇联欢会回不去的夜晚樱花| 亚洲精品AⅤ无码精品丝袜足| 欧美疯狂做受XXXX| 国产精品久久久久婷婷五月色| 野花高清视频免费观看完整版中文| 漂亮人妻被中出中文字幕| 国产精品色视频ⅩXXX| 又色又爽的无遮挡免费网址 | 厨房挺人ⅩXXX猛交| 亚洲超碰无码色中文字幕97| 欧美XXXX做受欧美| 国产麻豆 9L 精品三级站| 正在播放国产剧情亂倫| 天天想你免费看西瓜视频| 久久久受WWW免费人成| 短裙公车被强好爽H吃奶视频| 亚洲人成色777777精品音频| 日本丰满熟妇多毛| 精品人妻一区二区三区曰产乱码| А√天堂资源8在线官网地址 | 午夜无码视频在线观看网站| 蜜臀久久99精品久久久久久| 国产精品宾馆在线精品酒店|