很多项目开发完成后,真正麻烦的是上线:环境不一致、端口冲突、证书过期、数据库丢失、日志难查。Docker + Nginx 是小团队比较稳的部署组合,可以把运行环境、域名入口、HTTPS、数据持久化和重启策略统一起来。
典型架构链路
- 用户浏览器
- Nginx 80/443
- HTTPS 证书 / 跳转规则
- Docker Compose
- 应用容器
- 数据库 / 数据卷
- 日志 / 备份 / 健康检查
Docker 解决环境一致性
把 Python、Node、依赖包、启动命令放进镜像,服务器不需要手工配置一堆运行环境。以后换服务器或回滚版本更简单。
Docker Compose 管理应用和数据卷
Compose 可以定义端口、环境变量、数据卷、重启策略和健康检查。数据库文件、上传文件等持久化数据不要放在容器临时层里。
Nginx 负责公网入口
Nginx 监听 80/443,把请求转发到本机应用端口。它还可以处理 HTTPS、静态缓存、请求体大小和基础安全头。
HTTPS 和证书续期要自动化
证书申请成功不代表结束,还要确认 443 端口放行、HTTP 跳 HTTPS、证书定时续期和续期后自动 reload Nginx。
健康检查和日志让问题可定位
容器要有健康检查,应用要有访问日志和错误日志。线上问题发生时,先判断是 DNS、Nginx、容器、应用还是数据库。
备份和回滚是上线底线
小系统也要有数据库备份、部署前版本备份和镜像回滚策略。否则一次误操作就可能影响真实业务。
落地前建议确认
- 应用是否容器化
- 数据是否放在持久化卷
- HTTPS 是否自动续期
- 是否有备份、日志和回滚方案
