<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      pm2部署node項(xiàng)目

      1、pm2簡(jiǎn)介

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

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

      1. 監(jiān)聽(tīng)文件變化,自動(dòng)重啟程序
      2. 支持性能監(jiān)控
      3. 負(fù)載均衡
      4. 程序崩潰自動(dòng)重啟
      5. 服務(wù)器重新啟動(dòng)時(shí)自動(dòng)重新啟動(dòng)
      6. 自動(dòng)化部署項(xiàng)目

      2、pm2安裝與使用

      2.1、全局安裝

      npm install pm2 -g 

      2.2、常用命令

      • 啟動(dòng)一個(gè)node程序 
      pm2 start start.js   

       

      • 啟動(dòng)進(jìn)程并指定應(yīng)用的程序名
      pm2 start app.js --name application1
      • 集群模式啟動(dòng)
      // -i 表示 number-instances 實(shí)例數(shù)量
      // max 表示 PM2將自動(dòng)檢測(cè)可用CPU的數(shù)量 可以自己指定數(shù)量
      pm2 start start.js -i max

      • 添加進(jìn)程監(jiān)視
      // 在文件改變的時(shí)候會(huì)重新啟動(dòng)程序
      pm2 start app.js --name start --watch

      • 列出所有進(jìn)程

        pm2 list
        pm2 ls // 簡(jiǎn)寫(xiě)
      • 從進(jìn)程列表中刪除進(jìn)程

        // pm2 delete [appname] | id
        pm2 delete app  // 指定進(jìn)程名刪除
        pm2 delete 0    // 指定進(jìn)程id刪除
      • 刪除進(jìn)程列表中所有進(jìn)程

        pm2 delete all
      • 查看某個(gè)進(jìn)程具體情況

        pm2 describe app
      • 查看進(jìn)程的資源消耗情況
        pm2 monit
      • 重啟進(jìn)程

         pm2 restart app // 重啟指定名稱的進(jìn)程
         pm2 restart all // 重啟所有進(jìn)程
      • 查看進(jìn)程日志

         pm2 logs app    // 查看該名稱進(jìn)程的日志
         pm2 logs all    // 查看所有進(jìn)程的日志
      • 設(shè)置pm2開(kāi)機(jī)自啟

      開(kāi)啟啟動(dòng)設(shè)置,此處是CentOS系統(tǒng),其他系統(tǒng)替換最后一個(gè)選項(xiàng)(可選項(xiàng):ubuntu, centos, redhat, gentoo, systemd, darwin, amazon)

         pm2 startup centos 

      然后按照提示需要輸入的命令進(jìn)行輸入

      最后保存設(shè)置

      pm2 save

      3、通過(guò)pm2配置文件來(lái)自動(dòng)部署項(xiàng)目

      確保服務(wù)器安裝了pm2,沒(méi)有安裝的話先安裝

      npm install pm2 -g

      3.1 在項(xiàng)目根目錄下新建一個(gè) deploy.yaml 文件

      復(fù)制代碼
      # deploy.yaml
      apps:
        - script: ./start.js       # 入口文件
          name: 'app'              # 程序名稱
          env:                     # 環(huán)境變量
            COMMON_VARIABLE: true
          env_production:
            NODE_ENV: production
      
      deploy:                     # 部署腳本
        production:               # 生產(chǎn)環(huán)境
          user: lentoo            # 服務(wù)器的用戶名
          host: 192.168.2.166     # 服務(wù)器的ip地址
          port: 22                # ssh端口
          ref: origin/master      # 要拉取的git分支
          ssh_options: StrictHostKeyChecking=no # SSH 公鑰檢查
          repo: https://github.com/**.git # 遠(yuǎn)程倉(cāng)庫(kù)地址
          path: /home              # 拉取到服務(wù)器某個(gè)目錄下
          pre-deploy: git fetch --all # 部署前執(zhí)行
          post-deploy: npm install &&  pm2 reload deploy.yaml --env production # 部署后執(zhí)行
          env:
            NODE_ENV: production
      復(fù)制代碼

      3.2、配置git的ssh免密認(rèn)證

      1. 在服務(wù)器中生成rsa公鑰和私鑰,當(dāng)前是 centos7 下進(jìn)行

      2. 前提服務(wù)器要安裝git,沒(méi)有安裝的先安裝git,已安裝的跳過(guò)

        yum –y install git
      3. 生成秘鑰

         ssh-keygen -t rsa -C "xxx@xxx.com"

        在~/.ssh目錄下有 id_rsa和 id_rsa.pub兩個(gè)文件,其中id_rsa.pub文件里存放的即是公鑰key。

      4. 登錄到GitHub,點(diǎn)擊右上方的頭像,選擇settings ,點(diǎn)擊Add SSH key,把id_rsa.pub的內(nèi)容復(fù)制到里面即可。

      3.3 使用pm2部署項(xiàng)目

      每次部署前先將本地的代碼提交到遠(yuǎn)程git倉(cāng)庫(kù)

      • 首次部署
      pm2 deploy deploy.yaml production setup 

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

      • 再次部署
      pm2 deploy deploy.yaml production upddate

      3.4 該部署流程同樣適用前端項(xiàng)目

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

      4、可能會(huì)遇到的坑

      • 在window系統(tǒng)下 vscode的命令行程序,以及powershell執(zhí)行部署的命令時(shí),出現(xiàn)部署失敗
      pm2 deploy deploy.yaml production setup  
       
      解決方案:使用git命令行來(lái)執(zhí)行
      posted @ 2022-09-02 14:01  Hexrui  閱讀(868)  評(píng)論(0)    收藏  舉報(bào)
      返回頂部
      主站蜘蛛池模板: 日韩蜜桃AV无码中文字幕不卡高清一区二区 | 奶头好大揉着好爽视频| 被拉到野外强要好爽| 无码一区中文字幕| 欧洲精品码一区二区三区| 在线无码午夜福利高潮视频| 亚洲色欲色欲www在线看| 中文字幕一区二区三区四区五区| 人人妻人人狠人人爽| 午夜精品久久久久久99热| 亚洲AV无码一二区三区在线播放| 精品乱人码一区二区二区| 国产sm重味一区二区三区| 香蕉亚洲欧洲在线一区 | 欧美人与动zozo| 国产精品无码a∨麻豆| 中文字幕乱码中文乱码毛片| 中文字幕有码无码AV| 日本中文字幕有码在线视频| 伊人久久精品无码二区麻豆| 成人国产精品一区二区不卡| 不卡免费一区二区日韩av| 秋霞人妻无码中文字幕| 亚洲精品国男人在线视频| 无码av中文字幕久久专区| 亚洲精品中文字幕一区二| 亚洲精品色哟哟一区二区| 毛片网站在线观看| 国产精品普通话国语对白露脸 | 久久精品国产亚洲av天海翼| 人妻少妇| 国内揄拍国产精品人妻电影| 亚洲av无码精品色午夜蛋壳| 国产福利视频区一区二区| 天堂亚洲免费视频| 石阡县| 玩弄放荡人妻少妇系列| 亚洲色大成网站WWW久久| 又黄又爽又色视频免费| 国产v综合v亚洲欧美久久| 亚洲人成网站18禁止无码|