PM2 node 程序管理器
NIKEDIN 2021-02-05 deploynode部署nuxt開發node開發aws
# 參考
next.js、nuxt.js 等服务端渲染框架构建的项目部署到服务器,并用 PM2 守护程序
How to deploy using PM2 cluster mode?
# install
npm install pm2 -g
# 啟動
pm2 start app.js
pm2 start app.js --name my-api # 啟動的 server 名稱 --name projectName
pm2 start app.js -i 0 # 根据CPU核数启动进程个数
pm2 start app.js --watch # 实时监控app.js的方式启动,当app.js文件有变动时,pm2会自动reload
# 停止
pm2 stop all #停止PM2列表中所有的进程
pm2 stop 0 #停止PM2列表中进程为0的进程
# 刪除
pm2 delete 0 #删除PM2列表中进程为0的进程
pm2 delete all #删除PM2列表中所有的进程
pm2 del [name] # 刪除指定進程
# 使用 pm2 開發 NUXT
package.json
新增指令"scripts": { "dev": "nuxt", "pm2dev": "pm2 start npm --name 'nuxt-project' -i 8 --watch -- run dev", "build": "nuxt build", "start": "nuxt start" },
--name [這個服務的名稱]
你 APP 的名稱。-i [核心數]
你想要這個服務,用幾個核心數來啟動。--watch
檔案有變更時,會自動重新啟動
- 輸入指令
npm run pm2dev
開始享受開發吧!
# 使用 pm2 部署 nuxt 參考
使用 PM2(Process Manager 2)進行部署是一種快速簡便的解決方案,用於將通用 Nuxt 應用程序託管在服務器或 VM 上。
專案底下新增
ecosystem.config.js
module.exports = { apps: [ { name: 'NuxtAppName', exec_mode: 'cluster', instances: 'max', // or a number of instances script: './node_modules/nuxt/bin/nuxt.js', args: 'start', }, ], }
專案建構與啟動 serve
- 建構
npm run build
- 啟動服務
pm2 start
- 查看狀態
pm2 ls
你的應用程式正在服務中
- 建構
此解決方案保證該服務器上的應用程序不停機。您應該通過冗餘或高可用性雲解決方案來防止服務器發生故障。