要在 Linux 系統(tǒng)下讓 Node.js 應(yīng)用以守護(hù)進(jìn)程的方式運(yùn)行,可借助 pm2 這個(gè)進(jìn)程管理器。下面為你詳細(xì)介紹操作步驟:
一、安裝 pm2
首先要保證系統(tǒng)已經(jīng)安裝了 Node.js 和 npm,接著通過 npm 全局安裝 pm2:
npm install -g pm2
二、用 pm2 啟動(dòng)應(yīng)用
假設(shè)項(xiàng)目的啟動(dòng)命令是 npm run start,你可以通過以下方式用 pm2 啟動(dòng)應(yīng)用:
pm2 start npm --name "app-name" -- run start
這里的 app-name 是你為應(yīng)用自定義的名稱,方便后續(xù)管理。
三、管理應(yīng)用
下面是一些常用的 pm2 命令:
- 查看應(yīng)用狀態(tài):pm2 status
- 查看應(yīng)用日志:pm2 logs app-name
- 重啟應(yīng)用:pm2 restart app-name
- 停止應(yīng)用:pm2 stop app-name
- 刪除應(yīng)用:pm2 delete app-name
四、設(shè)置開機(jī)自啟
為了讓應(yīng)用能隨系統(tǒng)啟動(dòng)自動(dòng)運(yùn)行,需要進(jìn)行開機(jī)自啟的設(shè)置:
pm2 startup # 生成開機(jī)自啟腳本 pm2 save # 保存當(dāng)前應(yīng)用列表
五、備選方案(使用 nohup)
如果你不想安裝額外的工具,也可以使用 nohup 命令:
nohup npm run start &
不過這種方式有一些缺點(diǎn),比如日志會(huì)輸出到 nohup.out 文件,而且管理進(jìn)程相對(duì)麻煩。
如果原啟動(dòng)命令是 npm run start:dev,只需將 start 替換為 start:dev 即可。以下是修改后的命令:
# 使用 pm2 啟動(dòng)開發(fā)環(huán)境 pm2 start npm --name "app-name" -- run start:dev # 設(shè)置開機(jī)自啟(可選) pm2 startup pm2 save
說明:
- 命令解析:pm2 start npm --name "app-name" -- run start:dev
- npm:表示通過 npm 執(zhí)行命令
- --name "app-name":指定應(yīng)用名稱(可自定義)
- -- run start:dev:傳遞給 npm 的參數(shù),等價(jià)于直接執(zhí)行 npm run start:dev
- 管理命令:與之前相同
pm2 status # 查看狀態(tài) pm2 logs app-name # 查看日志 pm2 restart app-name # 重啟應(yīng)用 pm2 stop app-name # 停止應(yīng)用
如果你的 package.json 中 start:dev 對(duì)應(yīng)特殊配置(如監(jiān)聽文件變化、使用開發(fā)服務(wù)器等),pm2 會(huì)保持這些特性并在后臺(tái)持續(xù)運(yùn)行。





暫無評(píng)論,快來評(píng)論吧!