node項目vue 自動化部署之pm2


一.安裝git:

1.安裝:

yum install -y git

2.查看版本:

git version

二.安裝node:

方案一:(推薦)

安裝Node.js版本管理器  (寶塔)

方案二:

yum方式安裝

yum install nodejs   安裝后是老版本

 

方案三:wget

yum install -y wget 安裝wget
wget https://nodejs.org/dist/v16.13.1/node-v16.13.1.tar.gz  下載nodejs
xz -d node-v9.3.0-linux-x64.tar.xz     解壓
tar -xf node-v9.3.0-linux-x64.tar
ln -s ~/node-v9.3.0-linux-x64/bin/node /usr/bin/node    部署bin文件

ln -s ~/node-v9.3.0-linux-x64/bin/npm /usr/bin/npm
ln -s ~/node-v9.3.0-linux-x64/bin/npm /usr/bin/npx

  

node -v     測試
npm
npx

 方案四:

安裝pm2管理器   ui  (寶塔)

三.安裝pm2:(如果上步使用方案四,此步安裝可以忽略)

1.安裝:

npm install pm2 -g  安裝

常用命令:

pm2 start start.js  啟動node程序
pm2 start app.js --name application1  啟動進程並指定應用的程序名
pm2 start start.js -i max   集群模式啟動 ,-i 表示 number-instances 實例數量;max 表示 PM2將自動檢測可用CPU的數量 可以自己指定數量
pm2 start app.js --name start --watch   在文件改變的時候會重新啟動程序
pm2 list   簡寫pm2 ls   列出所有進程
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 startup centos  開啟啟動設置,此處是CentOS系統,其他系統替換最后一個選項(可選項:ubuntu, centos, redhat, gentoo, systemd, darwin, amazon)
pm2 save  保存

四.通過pm2配置文件來自動部署項目(本章核心)

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

2.配置git的ssh免密認證

使用部署公鑰即可:參考碼雲gitee官網提供的配置ssh

 https://gitee.com/help/articles/4181#article-header0

 

 

3.使用pm2部署項目:

pm2 deploy deploy.yaml production setup   (僅首次執行)
pm2 deploy deploy.yaml production upddate  更新

4.常見錯誤:

錯誤1:
pm2 deploy deploy.yaml production setup  執行此命令時,如果不能正常。
解決:
請使用git命令去執行:pm2 deploy deploy.yaml production setup
錯誤2:
(ECDSA) to the list of known hosts.
解決:

ssh-keyscan -t rsa gitee.com>>~/.ssh/known_hosts    //碼雲
ssh-keyscan -t rsa github.com>>~/.ssh/known_hosts    github
 
        

 

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM