亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

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

2024-05-06 16:48:58
字體:
來源:轉載
供稿:網友

使用背景

當我們需要將項目部署到遠程線上服務器時;傳統的方法可能就是:

  • 將本地代碼通過ssh、ftp等方式上傳到服務器;
  • 然后通過ssh登入到服務器,配置好環境;
  • 手動啟動應用。

太過手動化,麻煩,操作繁瑣。

現代自動化部署

環境:本地(Mac);遠程服務器(CentOS)

使用工具:Git、pm2、node;

需知概念:ssh秘鑰登陸Github添加Deploy Keys

1、服務器環境部署

基本工具安裝:git、pm2、node

2、ssh服務器免密登陸

服務器生成秘鑰對

ssh-keygen -t rsa -C '1285227393@qq.com'-t 指定密鑰類型,默認即 rsa ,可以省略-C 設置注釋文字,比如郵箱,可以省略

由于使用的是百度云服務器,里面可以直接界面生成秘鑰對,然后下載到本地的是一個xxx.txt文件

pm2,項目部署,遠程服務器

. 此時登陸可以使用ssh -i xxx.txt[下載的公鑰路徑] name@domain

報錯:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'server-key.txt' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "server-key.txt": bad permissions

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

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

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

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

ssh name@domain可以正常免密登陸啦?。ㄅ渲眠@種形式登陸后面pm2需要使用)

配置快捷登錄(附加)

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

2. 創建config文件: touch config

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

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

4. :wq!保存退出

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

在Github上添加Deploy Keys

服務器生成秘鑰

# 生成ssh keyssh-keygen -t rsa# 查看公鑰內容cat ~/.ssh/id_rsa.pub

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

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

配置pm2

配置ecosystem.config.js;具體pm2配置及基本使用介紹,戳~使用pm2配置生產環境

module.exports = { apps: [  {   name: 'back-Api',   //應用名   script: './server/start.js',  //應用文件位置   env: {    //PM2_SERVE_PATH: "./apidoc",  //靜態服務路徑    PM2_SERVE_PORT: 8080,  //靜態服務器訪問端口    NODE_ENV: 'development' //啟動默認模式   },   env_production : {    PM2_SERVE_PORT: 8080,    NODE_ENV: 'production' //使用production模式 pm2 start ecosystem.config.js --env production   },   instances:"max",     //將應用程序分布在所有CPU核心上,可以是整數或負數   instance_var: "INSTANCE_ID",   exec_mode: "cluster",   min_uptime: "30s",   max_restarts: 10,   //cron_restart: "40",   watch:[    "server",   ], //監聽模式,不能單純的設置為true,易導致無限重啟,因為日志文件在變化,需要排除對其的監聽   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

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


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人性生交大片免费看视频直播| 日日摸夜夜添一区| 在线精品91av| 88xx成人精品| 亚洲天堂av在线播放| 亚洲精品国产品国语在线| 少妇高潮久久久久久潘金莲| 国产日韩精品综合网站| 日韩在线视频线视频免费网站| 国产精品香蕉在线观看| 亚洲国产成人精品久久久国产成人一区| 中文字幕日韩电影| 91精品视频播放| 亚洲第一综合天堂另类专| 亚洲国产美女久久久久| 欧美一级免费看| 久久精品电影网站| 亚洲老头同性xxxxx| 色偷偷偷亚洲综合网另类| 成人自拍性视频| 国产69久久精品成人看| 亚洲91av视频| 欧美极品少妇全裸体| 亚洲精品v天堂中文字幕| 欧美视频在线看| 日韩国产欧美精品一区二区三区| 欧美高清在线播放| 日韩精品视频三区| 欧美电影在线观看完整版| 亚洲性av在线| 国产精品日韩一区| 欧美日韩国产精品专区| 92版电视剧仙鹤神针在线观看| 亚洲美女av在线| 日韩三级影视基地| 久久久日本电影| 亚洲女人天堂视频| 一区二区三区 在线观看视| 黄色一区二区在线观看| 日韩免费不卡av| 亚洲无限av看| 久热国产精品视频| 欧美日韩国产综合视频在线观看中文| 91精品久久久久久| 欧美激情视频一区二区三区不卡| 亚洲男人7777| 亚洲电影免费观看高清完整版| 日韩av成人在线观看| 日本免费久久高清视频| 亚洲欧美视频在线| 亚洲欧美综合区自拍另类| 国产欧美日韩亚洲精品| 精品magnet| 色哟哟亚洲精品一区二区| 精品国产欧美成人夜夜嗨| 俺去亚洲欧洲欧美日韩| 亚洲成人精品视频在线观看| 欧美午夜视频在线观看| 色妞一区二区三区| 国产欧美精品在线播放| 欧美国产日韩视频| 国产亚洲精品久久久久久牛牛| 欧美成人在线免费| 欧美日韩另类视频| 亚洲热线99精品视频| 日韩成人在线电影网| 欧美一级高清免费播放| 欧美日韩国产91| 久久亚洲国产成人| 国产美女久久精品| 国产精品美女免费视频| 成人免费视频在线观看超级碰| 国产一区二区在线播放| 国产精品第3页| 98精品国产高清在线xxxx天堂| 国产成人小视频在线观看| 日韩精品极品在线观看| 日韩av在线看| 色先锋久久影院av| 欧美黑人一区二区三区| 国产日韩精品综合网站| 亚洲黄一区二区| 久久久久久国产精品| 亚洲日本中文字幕| 成人有码在线视频| 亚洲欧美日韩网| 国产精品一区二区女厕厕| 欧美性猛交xxxx免费看久久久| 97av在线影院| 亚洲国产一区自拍| 91在线观看欧美日韩| 成人激情黄色网| 国产精品免费视频xxxx| 久久人人爽人人爽爽久久| 亚洲精品福利资源站| 91精品国产综合久久香蕉的用户体验| 91综合免费在线| 国产精品无码专区在线观看| 久久国产精品偷| 欧美日韩精品国产| 亚洲精品国偷自产在线99热| 国产一区二区丝袜| 亚洲精品黄网在线观看| 国产精品扒开腿做爽爽爽视频| 一区二区欧美亚洲| 国产视频欧美视频| 国产午夜精品麻豆| 久久精品国产精品亚洲| 日本亚洲欧洲色| 久久久精品视频在线观看| 国产精品99免视看9| 韩国欧美亚洲国产| 欧美激情视频播放| 91超碰caoporn97人人| 久久久国产精品视频| 国产精品福利观看| 亚洲第一福利网| 亚洲欧美日韩国产中文| 久久躁狠狠躁夜夜爽| 久久精品久久久久电影| 精品久久久久久中文字幕大豆网| 91免费综合在线| 九九九久久国产免费| 国产91在线播放九色快色| 欧洲成人在线观看| 国产成人涩涩涩视频在线观看| 欧美裸体xxxx| 亚洲精品久久久久国产| 亚洲a级在线观看| 久久久精品一区二区| 国产精品女视频| 国产午夜精品全部视频播放| 午夜精品一区二区三区在线播放| 久久久爽爽爽美女图片| 国产精品高潮呻吟久久av无限| 亚洲自拍偷拍第一页| 曰本色欧美视频在线| 91久久精品美女高潮| www.精品av.com| 综合久久五月天| 亚洲图片欧洲图片av| 亚洲日本成人女熟在线观看| 97视频在线观看视频免费视频| 欧美成人sm免费视频| 亚洲伊人成综合成人网| 538国产精品视频一区二区| 97av在线视频免费播放| 美女精品视频一区| 国产精品1234| 精品亚洲国产成av人片传媒| 精品久久久久人成| 91av成人在线| 美日韩精品免费观看视频| 国产精品国产福利国产秒拍| 国产亚洲精品一区二555| 久久深夜福利免费观看| 亚洲精品www| 成人福利视频网| www.99久久热国产日韩欧美.com| 国产狼人综合免费视频| 伊人久久精品视频| 欧美成人国产va精品日本一级| 成人免费视频a| 国产视频精品在线|