# 发布和部署 (阿里云)

# 1 大纲

  1. 生产环境编译
  2. 购买域名和服务器
  3. 域名解析
  4. Nginx 安装和配置
  5. MongoDB数据库的安装和配置
  6. git 安装、配置ssh-key
  7. Node.js 安装、配置淘宝镜像
  8. 拉取代码,安装pm2并启动项目
  9. 配置 Nginx 的反向代理
  10. 迁移本地数据到服务器 (mongodump)
  11. 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配置

  1. let's Encrypt, -> certbot.