基本概述

  • 部署方案规划
  • 待部署项目分析
  • 选购及备案域名
  • 厂商对比与选配阿里云服务器
  • 初步 SSH 无密码登录连接和配置
  • 搭建 Nodejs/MongoDB/Nginx 环境
  • 配置 IPTables/Fail2Ban 防火墙及主动防御
  • 域名 DNS 转移及 A 记录/CNAME 解析配置
  • MongoDB 角色配置与安全规则设置
  • 线上 MongoDB 单表单库导入导出与跨机迁移备份上传
  • PM2 发布环境配置
  • 服务器与 Git 仓库读写配置
  • PM2 一键部署线上 Nodejs 项目
  • 电影网站/ReactNative App 后台/微信公众号/微信小程序后台等项目实战部署
  • SSL 证书申请及 Nginx 证书集成提供 HTTPS 协议
  • 上线方案复盘总结

环境搭建

安全防护

服务环境部署

应用端口映射

数据配置部署

证书安装

项目部署与进程守护

  • 项目介绍
    • 部署方案
    • 待部署项目介绍
  • 准备工作
    • 域名选购备案
    • 厂商对比与服务器选配
  • 服务器
    • SSH 无密码登录连接
    • NodeJS/MongoDB/Nginx 环境
    • IPTables/Fail2Ban 防火墙及主动防御
    • MongoDB 角色配置与安全规则
    • MongoDB 单表单库导入导出与跨机迁移
    • PM2 环境配置
  • 部署上线
    • 服务器与 Git 仓库读写配置
    • PM2 一键部署线上 Nodejs 项目
    • 无数据库静态内容站点
    • Vue 前端静态站点
    • Node+MongoDB 服务端渲染的站点
    • React/Egg Node 服务托管前端站点
    • PM2 构建、编译与部署前端资源
    • 数据库的定时备份任务配置
  • 收尾工作
    • 域名 DNS 转移及 A 记录/CNAME 解析
    • SSL 证书与 Nginx 证书
    • 课程总结
  • 不同内容站点类型
  • 无论是否有数据库
  • 是否是 SPA 应用

纯静态建议站点,只需把资源同步到服务器上即可

对于 Vue 的前端网站,部署时候需要把必要的资源编译上传号,最后把 HTML 同步到服务器上后,通过 Nginx 代理即可,我们同样给他一个域名访问。

对于 React 的前后端网站,我们可以通过 Egg 提供的服务来提供静态资源服务访问,前端资源上传可参考案例 2 中 Vue 上传图床部分。

最后,对于有数据库的站点,我们部署的时候,主要是更新代码重启服务,但需要额外把数据库相关的事件处理好,包括 SSL 证书的集成,


线上环境

  • 购买域名
    • IP 地址不够友好
    • 苹果和微信小程序不支持 IP 绑定
    • 域名的解析是 HTTPS 比较安全
  • 购买服务器
    • 带有外网 IP 的电脑
    • 部署 NodeJS 代码
    • 监听 80 端口
    • 通过 Nginx 进行端口转发到我们的 NodeJS 服务端口
  • 备案
  • 服务环境配置
    • 用户权限和无密码登录
    • Nodejs 环境和必备包组件安装搭建
    • 端口转发
    • HTTPS 证书的生成配置
    • Nginx 的安装配置
    • 防火墙
    • 本地数据库
    • 自动备份机制等
  • 数据库配置运维
  • 项目部署发布
    • 付费/免费但私密的第三方 Git 仓库平台
    • 用户权限/密码
    • Nodejs 环境搭建
    • 防火墙配置
    • Nginx 的安装和进行端口转发
    • 本地数据库,线上数据库自动备份机制