背景
常规部署项目比较传统的方式通过上传工具直接上传文件替换服务器文件, 也可以通过Xftp 方式来更新/发布指定站点。随着项目复杂度的增强,开发技术等手段增多。一些部署方式显得有点力不从心,且操作过程,失误率很难把控。
本章将基于现在比较流行的一套开发模式(如: VUE + SSR) 输出的项目来了解如何通过PM2 来实现自动化部署我们的站点项目。
== 必须说的一点是:本章重点不在PM2 相关知识,其相关知识及原理将在后续章节中介绍。 这里我假设你对PM2已经有了基本的了解==
如果不了解可以先跳到这篇文章了解其内关于pm2的相关简介: vue 服务端部署
另外: 我这里用的是阿里云 CentOS 7.4 64位
PM2 简介
pm2(process manager)是一个进程管理工具,维护一个进程列表,可以用它来管理你的node进程,负责所有正在运行的进程,并查看node进程的状态,也支持性能监控,负载均衡等功能。
使用pm2管理的node程序的好处
- 监听文件变化,自动重启程序
- 支持性能监控
- 负载均衡
- 程序崩溃自动重启
- 服务器重新启动时自动重新启动 传送门-关注文章内关于pm2部分介绍
- 自动化部署项目 (本章重点)
MP2自动部署实践
pm2 自动部署主要流程我概括为如下几点:
- 服务端SSH关联部署项目的git 仓库 (无密获取git仓库代码)
- 本地机器SSH关联到远程服务器 (无密连接部署服务器)
- 通过pm2 在项目根目录下生成 ecosystem.config 部署相关配置文件
- 本地提交代码至git 仓库并通过pm2 命