<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        如何使用pm2快速將項目部署到遠程服務器

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 22:00:15
        文檔

        如何使用pm2快速將項目部署到遠程服務器

        如何使用pm2快速將項目部署到遠程服務器:使用背景 當我們需要將項目部署到遠程線上服務器時;傳統(tǒng)的方法可能就是: 將本地代碼通過ssh、ftp等方式上傳到服務器; 然后通過ssh登入到服務器,配置好環(huán)境; 手動啟動應用。 太過手動化,麻煩,操作繁瑣。 現(xiàn)代自動化部署 環(huán)境:本地(Mac);遠程服
        推薦度:
        導讀如何使用pm2快速將項目部署到遠程服務器:使用背景 當我們需要將項目部署到遠程線上服務器時;傳統(tǒng)的方法可能就是: 將本地代碼通過ssh、ftp等方式上傳到服務器; 然后通過ssh登入到服務器,配置好環(huán)境; 手動啟動應用。 太過手動化,麻煩,操作繁瑣。 現(xiàn)代自動化部署 環(huán)境:本地(Mac);遠程服

        大概意思就是,私鑰文件不能被其他人所訪問。可能考慮到如果被別人獲取到,就可能對服務器安全造成影響,所以需要從新設置下秘鑰文件的權限

        重新設置秘鑰文件權限:chmod 600 server-key.txt,取消其他用戶Read權限

        但是,使用ssh name@domain形式還是沒法直接登入;追其原因,發(fā)現(xiàn)因為不是本地直接生成的秘鑰對;

        所以需要使用ssh-add -K ~/.ssh/xxx.txt[下載公鑰文件]-K表示永久存儲式,如果不使用者每次開機后需要重新ssh-add),就像是本地生成秘鑰對然后部署到服務器需要將秘鑰追加到ssh認證文件一個道理;

        ssh name@domain可以正常免密登陸啦!(配置這種形式登陸后面pm2需要使用)

        配置快捷登錄(附加)

        1. 進入ssh目錄:cd ~/.ssh

        2. 創(chuàng)建config文件: touch config

        3. 進入config配置文件配置:vi config

        Host lwh #快捷別名
        HostName host #ssh服務器ip或domain
        Port port #ssh服務器端口,默認為22
        User root #ssh服務器用戶名
        IdentityFile ~/.ssh/server-key.txt #下載的私鑰文件

        4. :wq!保存退出

        5. 完成后可以直接使用:ssh lwh 登陸

        在Github上添加Deploy Keys

        服務器生成秘鑰

        # 生成ssh key
        ssh-keygen -t rsa
        
        # 查看公鑰內(nèi)容
        cat ~/.ssh/id_rsa.pub

        復制秘鑰內(nèi)容,添加到Github上對應的項目倉庫Settings下的Deploy keys

        配置Deploy keys,使得服務器可以通過ssh拉取項目倉庫;

        配置pm2

        配置ecosystem.config.js;具體pm2配置及基本使用介紹,戳~使用pm2配置生產(chǎn)環(huán)境

        module.exports = {
         apps: [
         {
         name: 'back-Api', //應用名
         script: './server/start.js', //應用文件位置
         env: {
         //PM2_SERVE_PATH: "./apidoc", //靜態(tài)服務路徑
         PM2_SERVE_PORT: 8080, //靜態(tài)服務器訪問端口
         NODE_ENV: 'development' //啟動默認模式
         },
         env_production : {
         PM2_SERVE_PORT: 8080,
         NODE_ENV: 'production' //使用production模式 pm2 start ecosystem.config.js --env production
         },
         instances:"max", //將應用程序分布在所有CPU核心上,可以是整數(shù)或負數(shù)
         instance_var: "INSTANCE_ID",
         exec_mode: "cluster",
         min_uptime: "30s",
         max_restarts: 10,
         //cron_restart: "40",
         watch:[
         "server",
         ], //監(jiān)聽模式,不能單純的設置為true,易導致無限重啟,因為日志文件在變化,需要排除對其的監(jiān)聽
         merge_logs: true, //集群情況下,可以合并日志
         }
         ],
         deploy: {
         production : {
         //配置沒法提供密碼,所以前面需要配置ssh免密碼登錄服務器
         user: 'root', //ssh 登陸服務器用戶名
         host: '100.12.102.198', //ssh 地址服務器domain/IP
         ref: 'origin/master', //Git遠程/分支
         repo: 'git@github.com', //git地址使用ssh地址
         path: '/liwenhui/www', //項目存放服務器文件路徑
         "post-deploy": 'npm install && pm2 reload ecosystem.config.js --env production' //部署后的動作
         }
         }
        };

        開始部署

        pm2 deploy ecosystem.config.js production

        報錯

        appledeMBP:back-server-api apple$ pm2 deploy ecosystem.config.js production
        --> Deploying to production environment
        --> on host 106.12.132.188
        ○ deploying origin/master
        ○ executing pre-deploy-local
        ○ hook pre-deploy
        bash: 第 0 行:cd: /lwh/www/source: 沒有那個文件或目錄
        ○ fetching updates
        ○ full fetch
        bash: 第 0 行:cd: /lwh/www/source: 沒有那個文件或目錄

        fetch failed

        Deploy failed
        1

        需要先初始化服務器應用:pm2 deploy ecosystem.config.js production setup

        然后:pm2 deploy ecosystem.config.js production

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        如何使用pm2快速將項目部署到遠程服務器

        如何使用pm2快速將項目部署到遠程服務器:使用背景 當我們需要將項目部署到遠程線上服務器時;傳統(tǒng)的方法可能就是: 將本地代碼通過ssh、ftp等方式上傳到服務器; 然后通過ssh登入到服務器,配置好環(huán)境; 手動啟動應用。 太過手動化,麻煩,操作繁瑣。 現(xiàn)代自動化部署 環(huán)境:本地(Mac);遠程服
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top 主站蜘蛛池模板: 亚洲日韩国产精品无码av| 亚洲日韩欧洲乱码AV夜夜摸| 美女被吸屁股免费网站| 在线播放国产不卡免费视频| 国产在线不卡免费播放| 国产精品亚洲综合网站| 日韩精品免费视频| 成人片黄网站色大片免费| 色老板亚洲视频免在线观| 亚洲免费日韩无码系列| 两个人的视频高清在线观看免费| 亚洲精品视频免费| free哆拍拍免费永久视频| 亚洲日韩精品一区二区三区| 亚欧日韩毛片在线看免费网站| 亚洲日本中文字幕| 成人黄色免费网站| 亚洲电影一区二区| 一区二区三区免费在线观看| 国产精品成人免费一区二区| 亚洲女子高潮不断爆白浆| 日本免费一区二区在线观看| 一本天堂ⅴ无码亚洲道久久| 免费看片在线观看| 亚洲a∨国产av综合av下载| 亚洲男人第一无码aⅴ网站| 免费无码作爱视频| 狠狠亚洲婷婷综合色香五月排名| 国产无遮挡裸体免费视频在线观看 | 国产综合成人亚洲区| 国产成人精品亚洲精品| 亚洲成a∨人片在无码2023 | 毛片无码免费无码播放| 国产v亚洲v天堂a无| 亚洲精品第一国产综合精品99 | 亚洲成av人片天堂网无码】| 337p日本欧洲亚洲大胆裸体艺术| 3344永久在线观看视频免费首页| 亚洲国产精品无码久久久秋霞1| 亚洲日韩中文无码久久| 在线a人片天堂免费观看高清 |