• 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
    
    
    
     
     
    为了明天能幸福,今天付出再多也不后悔。
  • 相关阅读:
    由chkconfig 引发的联想——怎么查看程序是否已经安装/成功安装
    C#反射动态调用dll中的方法,并返回结果
    走过2011年终总结
    Ext.Net系列:二Event之DirectEvents
    缇 、 像素 、 厘米
    Ext.Net系列:二Event之DirectEvent 示例1调用事件顺序
    Ext.Net系列:二Event之DirectEvent 示例2(Delay)
    html符号标签
    ubuntu11.10 安装tplink usb无线网卡 tlwn725n
    GridView 行颜色变化
  • 原文地址:https://www.cnblogs.com/zlp520/p/15675339.html
Copyright © 2020-2023  润新知