要在 Linux 系統(tǒng)下讓 Node.js 應(yīng)用以守護進程的方式運行,可借助 pm2 這個進程管理器。下面為你詳細介紹操作步驟:
一、安裝 pm2
首先要保證系統(tǒng)已經(jīng)安裝了 Node.js 和 npm,接著通過 npm 全局安裝 pm2:
npm install -g pm2
二、用 pm2 啟動應(yīng)用
假設(shè)項目的啟動命令是 npm run start,你可以通過以下方式用 pm2 啟動應(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è)置開機自啟
為了讓應(yīng)用能隨系統(tǒng)啟動自動運行,需要進行開機自啟的設(shè)置:
pm2 startup # 生成開機自啟腳本 pm2 save # 保存當前應(yīng)用列表
五、備選方案(使用 nohup)
如果你不想安裝額外的工具,也可以使用 nohup 命令:
nohup npm run start &
不過這種方式有一些缺點,比如日志會輸出到 nohup.out 文件,而且管理進程相對麻煩。
如果原啟動命令是 npm run start:dev,只需將 start 替換為 start:dev 即可。以下是修改后的命令:
# 使用 pm2 啟動開發(fā)環(huán)境 pm2 start npm --name "app-name" -- run start:dev # 設(shè)置開機自啟(可選) 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ù),等價于直接執(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 對應(yīng)特殊配置(如監(jiān)聽文件變化、使用開發(fā)服務(wù)器等),pm2 會保持這些特性并在后臺持續(xù)運行。





暫無評論,快來評論吧!