手把手教你安裝和設定pm2,實現自動化部署node項目
Dec 29, 2021 pm 07:15 PMpm2怎麼自動化部署nodejs專案?以下這篇文章為大家介紹一下安裝和設定pm2,並實現自動化部署node專案的方法,希望對大家有幫助!
1、pm2簡介
pm2(process manager)是一個行程管理工具,維護一個行程列表,可以用它來管理你的node進程,負責所有正在運行的進程,並查看node進程的狀態,也支援效能監控,負載平衡等功能。
1.1、使用pm2管理的node程式的好處
#監聽檔案變化,自動重新啟動程式
-
支援效能監控
負載平衡
#程式崩潰自動重新啟動
伺服器重新啟動時自動重新啟動
自動化部署專案
2、pm2安裝與使用
2.1、全域安裝
1 |
|
2.2、常用指令
#啟動一個node程式
1
pm2 start start.js
登入後複製
#啟動進程並指定應用程式的程式名稱
1
pm2 start app.js --name application1
登入後複製叢集模式啟動
1
2
3
// -i 表示 number-instances 实例数量
// max 表示 PM2将自动检测可用CPU的数量 可以自己指定数量
pm2 start start.js -i max
登入後複製
新增進程監視
1
2
// 在文件改变的时候会重新启动程序
pm2 start app.js --name start --watch
登入後複製
#列出所有進程
1
2
pm2 list
pm2 ls
// 简写
登入後複製從進程清單中刪除進程
1
2
3
// pm2 delete [appname] | id
pm2
delete
app
// 指定进程名删除
pm2
delete
0
// 指定进程id删除
登入後複製刪除進程清單中所有進程
1
pm2
delete
all
登入後複製-
查看某個進程具體情況
1
pm2 describe app
登入後複製
#查看進程的資源消耗量
1
pm2 monit
登入後複製
重啟程序
1
2
pm2 restart app
// 重启指定名称的进程
pm2 restart all
// 重启所有进程
登入後複製查看進程日誌
1
2
pm2 logs app
// 查看该名称进程的日志
pm2 logs all
// 查看所有进程的日志
登入後複製設定pm2開機自啟動
開啟啟動設置,這裡是CentOS系統,其他系統取代最後一個選項(可選項:ubuntu, centos, redhat, gentoo, systemd, darwin , amazon)
1 |
|
然後按照提示需要輸入的命令進行輸入
最後保存設定
1 |
|
3、透過pm2設定檔來自動部署項目
#確保伺服器安裝了pm2,沒有安裝的話先安裝
1 |
|
3.1 在專案根目錄下新建一個deploy.yaml 檔案
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
#3.2 設定git的ssh免密認證
在伺服器中產生rsa公鑰和私鑰,目前是centos7 下進行
前提伺服器要安裝git,沒有安裝的先安裝git,已安裝的跳過
1
yum –y install git
登入後複製#產生秘鑰
1
ssh-keygen -t rsa -C
"xxx@xxx.com"
登入後複製在~/.ssh目錄下有id_rsa和id_rsa.pub兩個文件,其中id_rsa.pub文件裡存放的即是公鑰key。
登入GitHub,點選右上方的頭像,選擇settings ,點選Add SSH key,把id_rsa.pub的內容複製到裡面即可。
3.3 使用pm2部署專案
在每次部署前先將本地的程式碼提交到遠端git倉庫
首次部署
1 |
|
#部署完成後,既可登陸伺服器查看配置的目錄下是否從git上拉取了項目
再次部署
1 |
|
#3.4 此部署流程同樣適用前端專案
如vue- cli的項目,自動部署到伺服器,自動執行npm run build 指令,產生的dist目錄,指定到nginx的靜態檔案目錄下。
4、可能會遇到的坑
在window系統下vscode的命令列程序,以及powershell執行部署的命令時,出現部署失敗
1 |
|
解決方案:使用git命令列來執行
更多node相關知識,請造訪:nodejs 教學! !
以上是手把手教你安裝和設定pm2,實現自動化部署node項目的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱門文章

熱門文章

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)