# 发布和部署 (阿里云)
# 1 大纲
- 生产环境编译
 - 购买域名和服务器
 - 域名解析
 - Nginx 安装和配置
 - MongoDB数据库的安装和配置
 - git 安装、配置ssh-key
 - Node.js 安装、配置淘宝镜像
 - 拉取代码,安装pm2并启动项目
 - 配置 Nginx 的反向代理
 - 迁移本地数据到服务器 (mongodump)
 - ssl配置
 
# 2 详解
# 1 生产环境编译
// http.js
const http = axios.create({
  baseURL: process.env.VUE_APP_API_URL || '/admin/api',
  // baseURL: 'http://localhost:3000/admin/api'
})
// 第二个为生产环境域名加'/admin/api'; 
//
//  开发环境配置
VUE_APP_API_URL=http://localhost:3000/admin/api
# 1 服务器静态资源路径与访问
vue.config.js配置编译后输出的文件夹,
module.exports = {
  outputDir: __dirname + '/../server/admin',
  publicPath: process.env.NODE_ENV === 'production'
    ? '/admin/'
    : '/'
}
//配置服务端资源的访问路径
app.use('/', express.static(__dirname + '/web'))
app.use('/admin', express.static(__dirname + '/admin'))
# 8 拉取代码,安装pm2并启动项目
git 项目配置
首次
git config username "weitanai"
git config useremail "987346185@qq.com"
创建本地git仓库, 
git add 项目
git commmit -m "key imformation"
git add remote git@github.com: weitanai/wesite.git;
已有仓库 
cd existing_git_repo
git remote add origin git@github.com:weitanai:wesite.git;
git push -u origin master;
- pm2 服务器全局守护进程
 - pm2 start index.js
 - pm2 list
 
9 配置 Nginx 的反向代理
remote-ssh: vscode 管理服务器文件夹
nginxconfig.io: 配置nginx 反向代理的 node 服务器
# 11 ssl配置
- let's Encrypt, -> certbot.