使用pm2管理node項(xiàng)目的流程步驟
1. 安裝 PM2
首先,確保你已經(jīng)全局安裝了 PM2。如果沒有安裝,可以使用 npm 安裝:
npm install pm2 -g
安裝完成后,可以通過以下命令檢查 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 開始)。
常用啟動(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)程通過 pnpm 執(zhí)行 package.json 中定義的 start 腳本。
這個(gè)命令的意思
- 指定環(huán)境變量:比如運(yùn)行在生產(chǎn)環(huán)境:
pm2 start app.js --env production
- 監(jiān)聽文件變化并自動(dòng)重啟:適合開發(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)聽文件變化 max_memory_restart: "1G",// 內(nèi)存超過 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 開機(jī)自啟 pm2 log. 查看日志
到此這篇關(guān)于使用pm2管理node項(xiàng)目的流程步驟的文章就介紹到這了,更多相關(guān)pm2管理node項(xiàng)目內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Node.js數(shù)據(jù)流Stream之Readable流和Writable流用法
這篇文章介紹了Node.js數(shù)據(jù)流Stream之Readable流和Writable流的用法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07node.js連接mongoose數(shù)據(jù)庫方法詳解
之前我們都是通過shell來完成對(duì)數(shù)據(jù)庫的各種操作的,在開發(fā)中大部分時(shí)候我們都需要通過程序來完成對(duì)數(shù)據(jù)庫的操作。而Mongoose就是一個(gè)讓我們可以通過Node來操作MongoDB的模塊2022-08-08typescript nodejs 依賴注入實(shí)現(xiàn)方法代碼詳解
今天分享的是用typescript語言實(shí)現(xiàn)的ioc模式,這邊用到的主要組件是 reflect-metadata 這個(gè)組件可以獲取或者設(shè)置元數(shù)據(jù)信息,接下來通過本文給大家介紹typescript nodejs 依賴注入實(shí)現(xiàn)方法,需要的朋友可以參考下2019-07-07node.js 開發(fā)指南 – Node.js 連接 MySQL 并進(jìn)行數(shù)據(jù)庫操作
通常在NodeJS開發(fā)中我們經(jīng)常涉及到操作數(shù)據(jù)庫,尤其是 MySQL ,作為應(yīng)用最為廣泛的開源數(shù)據(jù)庫則成為我們的首選,本篇就來介紹下如何通過NodeJS來操作 MySQL 數(shù)據(jù)庫。2014-07-07利用node.js+mongodb如何搭建一個(gè)簡單登錄注冊(cè)的功能詳解
這篇文章主要給大家介紹了關(guān)于利用node.js+mongodb如何搭建一個(gè)簡單登錄注冊(cè)功能的相關(guān)資料,文中通過示例代碼介紹非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-07-07使用node.js實(shí)現(xiàn)微信小程序?qū)崟r(shí)聊天功能
在微信這個(gè)聊天工具里的小程序上實(shí)現(xiàn)聊天功能,總覺得很詫異,今天小編給大家?guī)砹耸褂胣ode.js實(shí)現(xiàn)微信小程序?qū)崟r(shí)聊天功能,感興趣的朋友一起看看吧2018-08-08npm run dev和npm run serve的區(qū)別小結(jié)
npm run serve和npm run dev是在開發(fā)階段使用npm運(yùn)行腳本的兩種常見命令,本文就來介紹一下這兩者的區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03