色综合老司机第九色激情 _中文字幕日韩av资源站_国产+人+亚洲_久久久精品影院_久久久视频免费观看_欧美激情亚洲自拍_亚洲成av人片在线观看香蕉_热草久综合在线_欧美极品第一页_2020国产精品自拍

千鋒教育-做有情懷、有良心、有品質(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)前位置:首頁(yè)  >  技術(shù)干貨  > 使用PM2在節(jié)點(diǎn).js中進(jìn)行進(jìn)程管理

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

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

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

0.3837566690725658

  現(xiàn)在,要處理此問(wè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è)功能豐富的庫(kù),是Node.js社區(qū)中粉絲的最愛(ài),這篇博客文章將介紹其中的一些關(guān)鍵功能。讓我們開(kāi)始!

  基本設(shè)置

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

1

  現(xiàn)在,我們通常使用 來(lái)運(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)程顯式提供名稱。如果您沒(méi)有顯式為其指定名稱,它將使用文件名作為進(jìn)程的名稱。name

  現(xiàn)在在屏幕截圖中,應(yīng)用程序似乎已停止。在表格之前,您會(huì)看到“完成”消息,但在表格之后,您看不到任何內(nèi)容。但是,如果您打開(kā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),都可以通過(guò)鍵入 或 或 來(lái)查看進(jìn)程的狀態(tài)。pm2 statuspm2 lspm2 list

  您可以通過(guò) 使用后跟進(jìn)程的名稱或 ID(或 )來(lái)停止進(jìn)程。您還可以使用 來(lái)停止所有進(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è)流行的庫(kù),每當(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í),它將偵聽(tīng)更改,然后自動(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 語(yǔ)句。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

  無(wú)自動(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)該過(guò)程,我有一個(gè)單獨(dú)的視頻詳細(xì)解釋了cron表達(dá)式,如果您想了解更多信息,可以查看它。

  無(wú)守護(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)是沒(méi)有意義的。相反,我們要做的是添加一個(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í)間戳附加到日志文件中的日志語(yǔ)句

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

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

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

  現(xiàn)在,我們可以運(yùn)行配置文件 (),而不是使用 ,它將反過(guò)來(lái)為我們運(yùn)行腳本。您可以在應(yīng)用程序數(shù)組中添加多個(gè)非節(jié)點(diǎn).js應(yīng)用程序,它仍然可以工作。PM2不僅局限于節(jié)點(diǎn).js。您可以從其他語(yǔ)言(如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í),您需要說(shuō)明需要多少個(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)行配置文件,然后使用命令打開(kāi)此儀表板。pm2 monit

6

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

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

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)開(kāi)發(fā)平臺(tái),它為眾多硬件平臺(tái)和開(kāi)發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡(jiǎn)化了開(kāi)發(fā)過(guò)程,并能兼容各種...詳情>>

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解決的主要問(wèn)題是什么?

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

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

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

2023-10-14 12:12:36
快速通道
色综合老司机第九色激情 _中文字幕日韩av资源站_国产+人+亚洲_久久久精品影院_久久久视频免费观看_欧美激情亚洲自拍_亚洲成av人片在线观看香蕉_热草久综合在线_欧美极品第一页_2020国产精品自拍
精品视频一区二区不卡| 色8久久精品久久久久久蜜| 日韩欧美中文一区二区| 亚洲精品在线观看网站| 亚洲欧美激情一区二区| 日日摸夜夜添夜夜添精品视频| 国产成人免费av在线| 欧美日韩免费高清一区色橹橹 | 欧美性猛片aaaaaaa做受| 久久蜜桃av一区二区天堂| 一区二区三区欧美久久| 国产91对白在线观看九色| 日韩视频永久免费| 亚洲另类在线一区| 成人小视频在线观看| 日韩一二三区视频| 国产精品视频在线看| 一区二区三区鲁丝不卡| 久久99精品久久久| 欧美亚洲动漫另类| 久久青草欧美一区二区三区| 亚洲欧美国产77777| 激情综合网最新| 91国偷自产一区二区三区观看 | 亚洲高清视频的网址| 激情综合色播五月| 色婷婷av久久久久久久| 日韩精品一区二区三区视频 | 精品一区二区久久| 欧美午夜精品久久久久久超碰| 中文字幕免费一区| 成人激情动漫在线观看| 欧美变态口味重另类| 亚洲高清免费观看| 91欧美一区二区| 中文字幕亚洲成人| 成人污视频在线观看| 久久精品亚洲精品国产欧美kt∨| 激情六月婷婷久久| 精品国产精品一区二区夜夜嗨| 午夜精品福利久久久| 宅男在线国产精品| 久久疯狂做爰流白浆xx| 久久久午夜电影| 国产精品456露脸| 中文字幕一区二区三区蜜月| 99综合影院在线| 亚洲精品午夜久久久| 欧美日韩国产影片| 秋霞午夜鲁丝一区二区老狼| 欧美一区二区三区男人的天堂| 视频一区欧美精品| 精品免费一区二区三区| 国产白丝精品91爽爽久久| 中文字幕中文字幕中文字幕亚洲无线| 99视频超级精品| 亚洲韩国精品一区| 精品日韩一区二区三区| 成人美女视频在线看| 亚洲成人自拍一区| 久久综合精品国产一区二区三区 | 欧美蜜桃一区二区三区| 精品在线免费观看| 国产精品免费丝袜| 国产剧情一区二区| 一区二区三区免费网站| 中文字幕国产精品一区二区| 日韩高清在线一区| 欧美一级一区二区| 综合精品久久久| 免费不卡在线观看| 国产乱子伦视频一区二区三区| 色噜噜狠狠成人中文综合| 波多野结衣中文字幕一区二区三区| 国产乱子伦视频一区二区三区| 久久电影网站中文字幕| 另类中文字幕网| 美女精品自拍一二三四| 国产精品久久免费看| 欧美午夜视频网站| 国产精品99久久久久久久vr | 日韩黄色一级片| 99久久精品国产一区二区三区| 久久嫩草精品久久久久| 国产精品主播直播| 国产精品久久久久三级| 91免费版在线看| 亚洲国产综合91精品麻豆| 这里只有精品视频在线观看| 激情五月婷婷综合| 亚洲色图都市小说| 欧美国产国产综合| 精品国产乱码久久久久久久| 久久综合中文字幕| 午夜欧美在线一二页| 国产91精品露脸国语对白| 日韩成人一区二区| 日韩一级黄色片| 欧美一级精品大片| 国产女人18毛片水真多成人如厕 | 中文字幕日韩精品一区| 亚洲一区av在线| 91福利在线播放| 中文字幕日韩av资源站| 在线影视一区二区三区| 亚洲精品午夜久久久| 福利91精品一区二区三区| 国产美女av一区二区三区| 91精品国产手机| 在线观看欧美精品| av亚洲精华国产精华精| 激情小说欧美图片| 五月天视频一区| 久久久久久久精| 精品乱码亚洲一区二区不卡| 91麻豆国产精品久久| 久久国产精品第一页| 亚洲精品免费视频| 中文字幕乱码日本亚洲一区二区| 欧美亚洲一区二区在线观看| 国产美女在线精品| 不卡一区中文字幕| 午夜精品在线视频一区| 亚洲综合色在线| 国产精品视频看| 精品国产乱码久久久久久浪潮| 91蝌蚪国产九色| 精品一区二区在线看| 老司机免费视频一区二区| 亚洲综合视频网| 免费在线观看一区| 一区精品在线播放| 国产精品高潮呻吟| 国产欧美日韩不卡免费| 精品国产91乱码一区二区三区 | 国产麻豆精品95视频| 性欧美大战久久久久久久久| 久久99国产精品久久99果冻传媒| 午夜久久久久久| 日韩av高清在线观看| 亚洲成人先锋电影| 日日摸夜夜添夜夜添国产精品| 国产成人aaa| 久久老女人爱爱| 亚洲一区二区三区四区在线观看 | 国产三级一区二区三区| 五月天欧美精品| 国产91精品一区二区麻豆亚洲| 美女在线观看视频一区二区| 国产精品人成在线观看免费| 欧美麻豆精品久久久久久| 从欧美一区二区三区| 日韩va欧美va亚洲va久久| 久久久精品综合| 欧美巨大另类极品videosbest | 国产一区二区三区国产| 亚洲国产欧美一区二区三区丁香婷| 久久久久国产精品麻豆| 91精品国产色综合久久久蜜香臀| 99久久综合狠狠综合久久| 激情成人综合网| 日韩va亚洲va欧美va久久| 亚洲综合丁香婷婷六月香| 国产精品久久99| 26uuu另类欧美亚洲曰本| 91精品国产色综合久久久蜜香臀| 欧美亚男人的天堂| 91美女蜜桃在线| 成人app软件下载大全免费| 精品亚洲免费视频| 免费成人深夜小野草| 亚洲国产aⅴ天堂久久| 亚洲乱码一区二区三区在线观看| 欧美国产精品一区二区三区| 精品电影一区二区三区| 日韩三级伦理片妻子的秘密按摩| 欧美三级中文字幕在线观看| 色综合天天综合狠狠| 成人av综合一区| 成人一道本在线| 国产盗摄精品一区二区三区在线| 精品影视av免费| 开心九九激情九九欧美日韩精美视频电影 | 一本色道久久综合狠狠躁的推荐| 成人在线视频一区二区| 国产高清亚洲一区| 国产毛片精品一区| 精品一区二区三区蜜桃| 精品一区二区三区免费| 激情综合网av| 国产一区在线观看麻豆| 久久99精品久久久久婷婷| 久久国产剧场电影| 久久99精品久久久久久国产越南| 老色鬼精品视频在线观看播放| 乱一区二区av| 精久久久久久久久久久| 国产一区二区三区四区五区美女| 国产精品99久久久久久久vr| 成人毛片在线观看|