PM2 是一個守護(hù)進(jìn)程管理器,它將幫助您管理和保持您的應(yīng)用程序在線。PM2 入門非常簡單,它以簡單直觀的 CLI 形式提供
最新的 PM2 版本可通過 NPM 或 Yarn 安裝
$ npm install pm2@latest -g
或者
$ yarn global add pm2
啟動、守護(hù)進(jìn)程和監(jiān)視應(yīng)用程序的最簡單方法是使用此命令行
$ pm2 start app.js
或者輕松啟動任何其他應(yīng)用程序
$ pm2 start bashscript.sh
$ pm2 start python-app.py --watch
$ pm2 start binary-file -- --port 1520
指定應(yīng)用名稱
--name <app_name>
文件更改時監(jiān)視并重新啟動應(yīng)用程序
--watch
設(shè)置應(yīng)用重新加載的內(nèi)存閾值
--max-memory-restart <200MB>
指定日志文件
--log <log_path>
將額外的參數(shù)傳遞給腳本
-- arg1 arg2 arg3
自動重啟之間的延遲
--restart-delay <delay in ms>
帶時間的前綴日志
--time
不要自動重啟應(yīng)用程序
--no-autorestart
指定 cron 強制重啟
--cron <cron_pattern>
附加到應(yīng)用程序日志
--no-daemon
管理應(yīng)用程序狀態(tài)很簡單,這里是命令
$ pm2 restart app_name
$ pm2 reload app_name
$ pm2 stop app_name
$ pm2 delete app_name
all 作用于所有進(jìn)程id 作用于特定的進(jìn)程 ID現(xiàn)在您已經(jīng)啟動了這個應(yīng)用程序,您可以檢查它的狀態(tài)、日志、指標(biāo),甚至可以使用 pm2.io 獲取在線儀表板
列出PM2管理的所有應(yīng)用的狀態(tài)
$ pm2 [list|ls|status]
實時顯示日志
$ pm2 logs
挖掘舊日志
$ pm2 logs --lines 200
這是一個直接適合您的終端的實時儀表板
$ pm2 monit
基于 Web 的儀表板,具有診斷系統(tǒng)的跨服務(wù)器
$ pm2 plus
對于 Node.js 應(yīng)用程序,PM2 包括一個自動負(fù)載均衡器,它將在每個衍生進(jìn)程之間共享所有 HTTP[s]/Websocket/TCP/UDP 連接
以集群模式啟動應(yīng)用程序
$ pm2 start app.js -i max
在 此處 閱讀有關(guān)集群模式的更多信息
您還可以創(chuàng)建一個稱為生態(tài)系統(tǒng)文件的配置文件來管理多個應(yīng)用程序。生成生態(tài)系統(tǒng)文件
$ pm2 ecosystem
這將生成一個 ecosystem.config.js 文件
module.exports = {
apps : [{
name: "app",
script: "./app.js",
env: {
NODE_ENV: "development",
},
env_production: {
NODE_ENV: "production",
}
}, {
name: 'worker',
script: 'worker.js'
}]
}
并輕松啟動
$ pm2 start ecosystem.config.js
在 此處 閱讀有關(guān)應(yīng)用程序聲明的更多信息
使用您在服務(wù)器啟動/重新啟動時管理的進(jìn)程重新啟動 PM2 至關(guān)重要。為了解決這個問題,只需運行這個命令來生成一個活動的啟動腳本
$ pm2 save
在 此處 閱讀有關(guān)啟動腳本生成器的更多信息
使用 --watch 選項非常簡單
$ cd /path/to/my/app
$ pm2 start env.js --watch --ignore-watch="node_modules"
這將在當(dāng)前目錄 + 所有子文件夾中的任何文件更改時監(jiān)視并重新啟動應(yīng)用程序,并且它將忽略 node_modules 文件夾中的任何更改 --ignore-watch="node_modules"。
$ pm2 logs
然后,您可以使用上面命令來檢查重新啟動的應(yīng)用程序日志。
以下是一些值得了解的命令。 只需使用示例應(yīng)用程序或開發(fā)機(jī)器上當(dāng)前的 Web 應(yīng)用程序來嘗試它們
$ pm2 start app.js --name my-api # 名稱進(jìn)程
$ pm2 start app.js -i 0 # 將根據(jù)可用的 CPU 使用 LB 啟動最大進(jìn)程
$ pm2 start app.js -i max # 與上面相同,但已棄用。
$ pm2 scale app +3 # 將 `app` 增加 3 名工人
$ pm2 scale app 2 # 將 `app` 向上或向下擴(kuò)展到總共 2 個工人
$ pm2 list # 顯示所有進(jìn)程狀態(tài)
$ pm2 jlist # 以原始 JSON 格式打印進(jìn)程列表
$ pm2 prettylist # 以美化JSON打印進(jìn)程列表
$ pm2 describe 0 # 顯示有關(guān)特定進(jìn)程的所有信息
$ pm2 monit # 監(jiān)控所有進(jìn)程
$ pm2 logs [--raw] # 在流中顯示所有進(jìn)程日志
$ pm2 flush # 清空所有日志文件
$ pm2 reloadLogs # 重新加載所有日志
$ pm2 stop all # 停止所有進(jìn)程
$ pm2 restart all # 重啟所有進(jìn)程
$ pm2 reload all # 將 0s 停機(jī)時間重新加載(對于 NETWORKED 應(yīng)用程序)
$ pm2 stop 0 # 停止特定進(jìn)程 ID
$ pm2 restart 0 # 重啟特定進(jìn)程id
$ pm2 delete 0 # 將從 pm2 列表中刪除進(jìn)程
$ pm2 delete all # 將從 pm2 列表中刪除所有進(jìn)程
$ pm2 reset <process> # 重置元數(shù)據(jù)(重啟時間...)
$ pm2 updatePM2 # 更新內(nèi)存 pm2
$ pm2 ping # 確保 pm2 守護(hù)進(jìn)程已經(jīng)啟動
$ pm2 sendSignal SIGUSR2 my-app # 向腳本發(fā)送系統(tǒng)信號
$ pm2 start app.js --no-daemon
$ pm2 start app.js --no-vizion
$ pm2 start app.js --no-autorestart
我們讓它變得簡單,版本之間沒有重大變化,過程很簡單
$ npm install pm2@latest -g
然后更新內(nèi)存中的PM2
$ pm2 update
感谢您访问我们的网站,您可能还对以下资源感兴趣:
国产成人精品999视频&日本一区二区亚洲人妻精品&久久久精品国产99久久精&99热这里只有成人精品国产&精品国产剧情av一区二区&成人亚洲精品久久久久app&国产精品美女高潮抽搐A片