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


 
 
为了明天能幸福,今天付出再多也不后悔。
原文地址:https://www.cnblogs.com/zlp520/p/15675339.html