4.2 使用
4.2.1 常用命令
命令 | 說明 |
---|---|
pm2 startup | 設(shè)置pm2開機(jī)自啟動 |
pm2 unstartup | 移除pm2開機(jī)自啟動 |
pm2 save | 保存當(dāng)前進(jìn)程開機(jī)自啟動 |
pm2 start <進(jìn)程啟動命令> [--name <進(jìn)程名>] | 啟動應(yīng)用程序 |
pm2 list | 顯示所有進(jìn)程狀態(tài) |
pm2 monit | 監(jiān)控進(jìn)程 |
pm2 logs [進(jìn)程id或名字] | 顯示進(jìn)程日志 |
pm2 stop [all] | 停止[所有]進(jìn)程 |
pm2 restart [all] | 重啟[所有]進(jìn)程 |
pm2 delete [<進(jìn)程名或者id>,all] | 刪除指定[所有]進(jìn)程 |
pm2 info [進(jìn)程id或名字] | 查看應(yīng)用程序信息 |
官方文檔:http://pm2.keymetrics.io/docs/usage/quick-start/
五. 使用 pm2 守護(hù) ASP.NET Core 應(yīng)用程序
5.1 創(chuàng)建一個 webapi 項(xiàng)目
# 創(chuàng)建項(xiàng)目 dotnet new webapi --no-https -o testwebapi # 發(fā)布項(xiàng)目 cd testwebapi/ dotnet publish -c Release cd bin/Release/netcoreapp2.1/publish # 運(yùn)行項(xiàng)目 dotnet testwebapi.dll
運(yùn)行成功會有如下輸出:
5.2 使用pm2守護(hù)
5.2.1 啟動
結(jié)束我們剛剛運(yùn)行的程序,就在我們剛剛的目錄執(zhí)行下面的命令:
pm2 start "dotnet testwebapi.dll" --name testwebapi
執(zhí)行成功:
我們可以清晰的看到我們的應(yīng)用程序的 pid、運(yùn)行狀態(tài)、重啟次數(shù)(應(yīng)用程序崩潰重啟/手動重啟)、運(yùn)行時(shí)間、cpu和內(nèi)存占用等。十分方便
使用 curl 訪問 api 檢查是否運(yùn)行成功:
curl http://localhost:5000/api/values
5.2.2 查看日志
pm2 logs testwebapi
5.2.3 查看應(yīng)用程序信息
pm2 info testwebapi
5.2.4 監(jiān)控應(yīng)用程序
pm2 monit testwebapi
5.2.3 重啟策略
pm2 會在你的應(yīng)用程序異常退出時(shí),自動幫你重啟,所謂異常退出,指退出代碼非0。
測試:
修改 ValueController 添加退出代碼為1的代碼:
發(fā)布,并使用 pm2 啟動(此處略)。
通過 pm2 list
查詢應(yīng)用程序重啟次數(shù)為0:
訪問 api 觸發(fā)異常退出:
curl http://localhost:5000/api/values
再次通過 pm2 list
命令查詢可以發(fā)現(xiàn)重啟了:
六.結(jié)束
pm2 這個工具相對于 Supervisor 和 nohup 來說,對于Supervisor,沒有配置,不用輸很長的命令;對于 nohup 管理進(jìn)程方便。歡迎大家與我交流。
pm2官方文檔
CentOS 7 源碼編譯安裝 NodeJS by 曉晨Master
好了,
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com