使用pm2管理node項(xiàng)目的流程步驟
1. 安裝 PM2
首先,確保你已經(jīng)全局安裝了 PM2。如果沒(méi)有安裝,可以使用 npm 安裝:
npm install pm2 -g
安裝完成后,可以通過(guò)以下命令檢查 PM2 是否安裝成功:
pm2 -v
2. 啟動(dòng) Node 項(xiàng)目
假設(shè)你的項(xiàng)目主文件是 app.js,你可以直接使用以下命令啟動(dòng):
pm2 start app.js
啟動(dòng)后,PM2 會(huì)將你的應(yīng)用作為后臺(tái)進(jìn)程運(yùn)行,并分配一個(gè)進(jìn)程 ID(通常從 0 開(kāi)始)。
常用啟動(dòng)參數(shù):
- 指定進(jìn)程名稱:默認(rèn)進(jìn)程名是文件名,可以自定義名稱以便管理:
pm2 start app.js --name "my-app"
比如我有個(gè) Next.js 項(xiàng)目(NextJs 是全??蚣?,所以部署的時(shí)候必須選擇 Node),運(yùn)行
pm2 start pnpm --name "my-next-app" -- run start
這個(gè)命令的意思是
- 使用 PM2 啟動(dòng)一個(gè)名為 my-next-app 的后臺(tái)進(jìn)程。
- 這個(gè)進(jìn)程通過(guò) pnpm 執(zhí)行 package.json 中定義的 start 腳本。
這個(gè)命令的意思
- 指定環(huán)境變量:比如運(yùn)行在生產(chǎn)環(huán)境:
pm2 start app.js --env production
- 監(jiān)聽(tīng)文件變化并自動(dòng)重啟:適合開(kāi)發(fā)環(huán)境:
pm2 start app.js --watch
3. 查看進(jìn)程狀態(tài)
啟動(dòng)后,可以使用以下命令查看所有運(yùn)行中的進(jìn)程
pm2 list
這會(huì)顯示進(jìn)程的 ID、名稱、狀態(tài)、CPU 和內(nèi)存使用情況等

4. 管理進(jìn)程
- 停止進(jìn)程:
pm2 stop app.js 或使用進(jìn)程 ID/名稱 pm2 stop 0 pm2 stop my-app
- 重啟進(jìn)程:
pm2 restart app.js
- 刪除進(jìn)程:
pm2 delete app.js
5. 使用配置文件
module.exports = {
apps: [{
name: "my-app", // 進(jìn)程名稱
script: "app.js", // 啟動(dòng)文件
instances: 1, // 實(shí)例數(shù)量(可設(shè)置為 "max" 使用所有 CPU 核心)
autorestart: true, // 自動(dòng)重啟
watch: false, // 是否監(jiān)聽(tīng)文件變化
max_memory_restart: "1G",// 內(nèi)存超過(guò) 1G 時(shí)重啟
env: { // 默認(rèn)環(huán)境變量
NODE_ENV: "development"
},
env_production: { // 生產(chǎn)環(huán)境變量
NODE_ENV: "production"
}
}]
};
啟動(dòng)
pm2 start ecosystem.config.js
6. 其他命令
pm2 startup 開(kāi)機(jī)自啟 pm2 log. 查看日志
到此這篇關(guān)于使用pm2管理node項(xiàng)目的流程步驟的文章就介紹到這了,更多相關(guān)pm2管理node項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用node.js+mongodb如何搭建一個(gè)簡(jiǎn)單登錄注冊(cè)的功能詳解
這篇文章主要給大家介紹了關(guān)于利用node.js+mongodb如何搭建一個(gè)簡(jiǎn)單登錄注冊(cè)功能的相關(guān)資料,文中通過(guò)示例代碼介紹非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-07-07
詳解基于Koa2開(kāi)發(fā)微信二維碼掃碼支付相關(guān)流程
這篇文章主要介紹了詳解基于Koa2開(kāi)發(fā)微信二維碼掃碼支付相關(guān)流程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
在node環(huán)境下parse Smarty模板的使用示例代碼
這篇文章主要介紹了在node環(huán)境下parse Smarty模板的使用示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Node.js項(xiàng)目依賴問(wèn)題的詳細(xì)解決步驟
在現(xiàn)代前端開(kāi)發(fā)中,Node.js 和 npm 是不可或缺的工具,然而,隨著項(xiàng)目的迭代和依賴包的更新,我們常常會(huì)遇到依賴沖突、構(gòu)建失敗等問(wèn)題,本文將通過(guò)一個(gè)實(shí)際案例,詳細(xì)講解如何解決 Node.js 項(xiàng)目中的依賴問(wèn)題,包括升級(jí) Node.js 和 npm、替換過(guò)時(shí)的依賴包、修復(fù)構(gòu)建錯(cuò)誤等2025-02-02
node連接mysql查詢事務(wù)處理的實(shí)現(xiàn)
本文主要介紹了node連接mysql查詢事務(wù)處理的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11

