亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用pm2怎么自動化部署一個node項目

發布時間:2021-03-25 16:25:12 來源:億速云 閱讀:481 作者:Leah 欄目:web開發

這篇文章將為大家詳細講解有關使用pm2怎么自動化部署一個node項目,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

1、pm2簡介

pm2(process manager)是一個進程管理工具,維護一個進程列表,可以用它來管理你的node進程,負責所有正在運行的進程,并查看node進程的狀態,也支持性能監控,負載均衡等功能。

1.1、使用pm2管理的node程序的好處

  • 監聽文件變化,自動重啟程序

  • 支持性能監控

  • 負載均衡

  • 程序崩潰自動重啟

  • 服務器重新啟動時自動重新啟動

  • 自動化部署項目

 2、pm2安裝與使用

 2.1、全局安裝

npm install pm2 -g

2.2、常用命令

啟動一個node程序

 pm2 start start.js

使用pm2怎么自動化部署一個node項目

啟動進程并指定應用的程序名

pm2 start app.js --name application1

集群模式啟動

  // -i 表示 number-instances 實例數量
  // max 表示 PM2將自動檢測可用CPU的數量 可以自己指定數量
  pm2 start start.js -i max

使用pm2怎么自動化部署一個node項目

添加進程監視

 // 在文件改變的時候會重新啟動程序
  pm2 start app.js --name start --watch

使用pm2怎么自動化部署一個node項目

列出所有進程

pm2 list
pm2 ls // 簡寫

從進程列表中刪除進程

// pm2 delete [appname] | id
pm2 delete app // 指定進程名刪除
pm2 delete 0  // 指定進程id刪除

刪除進程列表中所有進程

 pm2 delete all

查看某個進程具體情況

 pm2 describe app

使用pm2怎么自動化部署一個node項目 

查看進程的資源消耗情況

pm2 monit

使用pm2怎么自動化部署一個node項目

重啟進程

pm2 restart app // 重啟指定名稱的進程
pm2 restart all // 重啟所有進程

查看進程日志

pm2 logs app  // 查看該名稱進程的日志
pm2 logs all  // 查看所有進程的日志

設置pm2開機自啟

開啟啟動設置,此處是CentOS系統,其他系統替換最后一個選項(可選項:ubuntu, centos, redhat, gentoo, systemd, darwin, amazon)

pm2 startup centos

然后按照提示需要輸入的命令進行輸入

最后保存設置

pm2 save

3、通過pm2配置文件來自動部署項目

確保服務器安裝了pm2,沒有安裝的話先安裝

npm install pm2 -g

3.1 在項目根目錄下新建一個 deploy.yaml 文件

# deploy.yaml
apps:
 - script: ./start.js    # 入口文件
  name: 'app'       # 程序名稱
  env:           # 環境變量
   COMMON_VARIABLE: true
  env_production:
   NODE_ENV: production

deploy:           # 部署腳本
 production:        # 生產環境
  user: lentoo      # 服務器的用戶名
  host: 192.168.2.166   # 服務器的ip地址
  port: 22        # ssh端口
  ref: origin/master   # 要拉取的git分支
  ssh_options: StrictHostKeyChecking=no # SSH 公鑰檢查
  repo: https://github.com/**.git # 遠程倉庫地址
  path: /home       # 拉取到服務器某個目錄下
  pre-deploy: git fetch --all # 部署前執行
  post-deploy: npm install && pm2 reload deploy.yaml --env production # 部署后執行
  env:
   NODE_ENV: production

3.2、配置git的ssh免密認證

在服務器中生成rsa公鑰和私鑰,當前是 centos7 下進行

前提服務器要安裝git,沒有安裝的先安裝git,已安裝的跳過

 yum –y install git

生成秘鑰

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的內容復制到里面即可。

使用pm2怎么自動化部署一個node項目

3.3 使用pm2部署項目

每次部署前先將本地的代碼提交到遠程git倉庫

首次部署

pm2 deploy deploy.yaml production setup

部署完成后,既可登陸服務器查看配置的目錄下是否從git上拉取了項目

再次部署

pm2 deploy deploy.yaml production upddate

3.4 該部署流程同樣適用前端項目

如vue-cli的項目,自動部署到服務器,自動執行npm run build 命令,生成的dist目錄,指定到nginx的靜態文件目錄下。

4、可能會遇到的坑

在window系統下 vscode的命令行程序,以及powershell執行部署的命令時,出現部署失敗

pm2 deploy deploy.yaml production setup

使用pm2怎么自動化部署一個node項目

關于使用pm2怎么自動化部署一個node項目就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

千阳县| 娄底市| 茶陵县| 元阳县| 天全县| 舞钢市| 兴安盟| 芒康县| 宜章县| 县级市| 农安县| 喀喇沁旗| 盘锦市| 体育| 密山市| 盐池县| 闸北区| 寿阳县| 潢川县| 东丽区| 淄博市| 溆浦县| 金堂县| 井研县| 曲水县| 弥渡县| 馆陶县| 大姚县| 来凤县| 桃江县| 镇江市| 长治县| 类乌齐县| 桂平市| 临海市| 白城市| 高阳县| 普格县| 建德市| 攀枝花市| 河间市|