PM2项目上线与部署(自动化部署)

218 阅读1分钟

Git安装与配置,安装pm2

  • 安装git
  • 配置用户信息
git config --global user.name "***"
git config --global user.email "***@qq.com"
  • 生成ssh key
ssh-keygen -t rsa -C "***@qq.com"
  • 查看密钥(复制到github)
cat ~/.ssh/id_rsa.pub
  • 安装pm2

自动化部署设置(ecosystem.config.js)

module.exports = {
  deploy: { // 自动化部署
    production: {
      user: '****',
      host: '**.***.***.***', // 请用ip地址
      ref: 'origin/master',
      repo: 'git@gitee.com:***/***.git',
      path: '/***/***/***',
      'post-deploy': 'npm install && pm2 reload ecosystem.config.js --env production',
      ssh_options: "StrictHostKeyChecking=no",
      "env": {
        "NODE_ENV": "production"
      }
    }
  }
};
  • 初始化服务器远程文件夹(windows用Git Bash Here打开)
pm2 deploy ecosystem.config.js production setup
  • 部署项目
pm2 deploy ecosystem.config.js production
  • 更新
pm2 deploy ecosystem.config.js production update
  • 免密连接服务器
scp ~/.ssh/id_rsa.pub ****@**.***.***.***:/root/.ssh/authorized_keys
  • 开放防火墙端口
firewall-cmd --list-ports  // 查看已开放端⼝
firewall-cmd --zone=public --add-port=3000/tcp --permanent  // 开放3000端⼝
firewall-cmd --reload  // 重启