最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用pm2自動化部署node項目的方法步驟

 更新時間:2019年01月28日 11:07:01   作者:lentoo  
這篇文章主要介紹了使用pm2自動化部署node項目的方法步驟,pm2是一個進程管理工具,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

1、pm2簡介

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

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

  • 監(jiān)聽文件變化,自動重啟程序
  • 支持性能監(jiān)控
  • 負載均衡
  • 程序崩潰自動重啟
  • 服務器重新啟動時自動重新啟動
  • 自動化部署項目

 2、pm2安裝與使用

 2.1、全局安裝

npm install pm2 -g 

2.2、常用命令

啟動一個node程序

 pm2 start start.js

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

pm2 start app.js --name application1

集群模式啟動

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

添加進程監(jiān)視

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

列出所有進程

pm2 list
pm2 ls // 簡寫

從進程列表中刪除進程

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

刪除進程列表中所有進程

 pm2 delete all

查看某個進程具體情況

 pm2 describe app

 

查看進程的資源消耗情況

pm2 monit

重啟進程

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

查看進程日志

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

設置pm2開機自啟

開啟啟動設置,此處是CentOS系統(tǒng),其他系統(tǒng)替換最后一個選項(可選項: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:           # 環(huán)境變量
   COMMON_VARIABLE: true
  env_production:
   NODE_ENV: production

deploy:           # 部署腳本
 production:        # 生產環(huán)境
  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 # 部署前執(zhí)行
  post-deploy: npm install && pm2 reload deploy.yaml --env production # 部署后執(zhí)行
  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的內容復制到里面即可。

3.3 使用pm2部署項目

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

首次部署

pm2 deploy deploy.yaml production setup 

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

再次部署

pm2 deploy deploy.yaml production upddate

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

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

4、可能會遇到的坑

在window系統(tǒng)下 vscode的命令行程序,以及powershell執(zhí)行部署的命令時,出現(xiàn)部署失敗

pm2 deploy deploy.yaml production setup 

解決方案:使用git命令行來執(zhí)行

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • sharp.js安裝過程中遇到的問題總結

    sharp.js安裝過程中遇到的問題總結

    本文給大家講述的是Node.js服務端圖片處理利器sharp.js安裝過程中遇到的問題的匯總,非常不錯,有需要的小伙伴可以參考下
    2020-04-04
  • 圖解NodeJS實現(xiàn)登錄注冊功能

    圖解NodeJS實現(xiàn)登錄注冊功能

    這篇文章主要介紹了NodeJS實現(xiàn)登錄注冊功能,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • node.js中的fs.chmodSync方法使用說明

    node.js中的fs.chmodSync方法使用說明

    這篇文章主要介紹了node.js中的fs.chmodSync方法使用說明,本文介紹了fs.chmodSync方法說明、語法、接收參數、使用實例和實現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • NestJS中集成TypeORM進行數據庫操作

    NestJS中集成TypeORM進行數據庫操作

    本文深入探討了如何在NestJS中集成TypeORM進行數據庫操作,包括TypeORM的配置和集成、實體設計和關系映射、Repository模式的應用、事務處理方案、數據庫遷移管理、性能優(yōu)化策略
    2024-12-12
  • nodejs開發(fā)微信小程序實現(xiàn)密碼加密

    nodejs開發(fā)微信小程序實現(xiàn)密碼加密

    本文給大家分享的是在使用nodejs開發(fā)微信小程序的過程中,實現(xiàn)密碼加密的示例代碼,非常簡單,有需要的小伙伴可以參考下
    2017-07-07
  • nodejs教程之入門

    nodejs教程之入門

    本文是nodejs教程系列的入門篇,主要講述nodejs的特點、模塊機制/CommonJs(模塊引用、模塊定義、模塊標識、模塊實現(xiàn))、包與NPM等知識,非常的詳細,這里推薦給大家作為入門的文章。
    2014-11-11
  • Node.js 路由的實現(xiàn)方法

    Node.js 路由的實現(xiàn)方法

    這篇文章主要介紹了Node.js 路由的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • node.js 如何監(jiān)視文件變化

    node.js 如何監(jiān)視文件變化

    這篇文章主要介紹了node.js 如何監(jiān)視文件變化,幫助大家更好的理解和學習node.js,感興趣的朋友可以了解下
    2020-09-09
  • 使用NodeJs 開發(fā)微信公眾號(三)微信事件交互實例

    使用NodeJs 開發(fā)微信公眾號(三)微信事件交互實例

    這篇文章主要介紹了使用NodeJs 開發(fā)微信公眾號(三)微信事件交互實例的相關資料,需要的朋友可以參考下
    2016-03-03
  • 新手必須知的Node.js 4個JavaScript基本概念

    新手必須知的Node.js 4個JavaScript基本概念

    本文介紹了4個基本JavaScript概念,它是你學習node.js所必需要掌握,下面就讓我們來看一下具體是哪4個基本JavaScript概念
    2018-09-09

最新評論

历史| 关岭| 四会市| 广元市| 建平县| 阳西县| 临夏县| 如皋市| 含山县| 万源市| 文成县| 龙江县| 元朗区| 外汇| 牡丹江市| 兴和县| 迁安市| 泽州县| 抚顺市| 图木舒克市| 丰都县| 新宁县| 永修县| 长顺县| 阿巴嘎旗| 平和县| 夏邑县| 四平市| 桃江县| 临沂市| 洪洞县| 聊城市| 云龙县| 咸丰县| 垦利县| 中江县| 镇原县| 神农架林区| 武山县| 青海省| 蒙山县|