部署模型、运行环境与访问链路
Docker、Nginx 与 Python 项目部署#Python全栈#第十九阶段#Docker、Nginx 与 Python 项目部署#部署模型、运行环境与访问链路约 1471 字 · 4 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
本阶段学习说明
整体培养方向: Python 全栈开发就业,按北京 10~20k 岗位所需能力逐步推进。
本阶段定位: 把已完成的 Python 全栈项目交付为可启动、可访问、数据可保留且能够排错的服务,形成从镜像到反向代理、进程与发布验证的完整部署流程。
适用环境: Linux 服务器或本地 Linux 容器环境、Docker Engine、Docker Compose v2、Nginx,以及 Python 3、WSGI/ASGI 应用服务器。框架主线从 Flask、Django 或 FastAPI 中选择一种;注明实际镜像、运行平台、代理和服务器版本。
考查目标: 能构建镜像、配置容器与依赖服务、处理网络和持久化、接入 Nginx、管理进程,并依据日志与请求路径定位部署故障。
题库结构: 100 道题,每题包含追问;从部署模型与镜像构建,推进到容器、Compose、代理、文件、Python 进程和发布实操。本阶段提供题目,不包含参考答案;不以背诵全部命令参数为目标,不重复上一阶段的漏洞防护细节,也不展开 Kubernetes 或下一阶段的完整 CI/CD 与云平台运维。
答题约定: 先画清浏览器、代理、应用、数据库、缓存与任务进程之间的连接关系。说明命令在宿主机还是容器中执行,配置在构建还是运行时生效。区分进程存在、端口可连接、应用就绪与业务完成;涉及删除、重建和回滚时,先说明对持久化数据的影响。
Python 项目从开发环境进入部署环境,需要交付哪些内容?
追问 代码、依赖、配置、启动入口、迁移、静态文件与外部服务怎样整理?怎样让另一位同事按说明在干净环境中启动?
开发服务器与生产应用服务器有什么不同?
追问 自动重载、调试、并发和进程恢复各应怎样设置?为什么本地能启动开发服务不代表适合承担持续访问?
WSGI 与 ASGI 分别描述什么,应用服务器怎样与框架匹配?
追问 同步 HTTP、异步处理、WebSocket 与应用生命周期有什么差异?错误地选择入口或 Worker 类型时会出现什么表现?
Nginx 与 Gunicorn、Uvicorn 等应用服务器各承担什么职责?
追问 TLS、静态文件、代理和 Python 代码执行分别在哪里发生?为什么 Nginx 不能直接替代 Python 应用运行器?
宿主机直接部署、虚拟机和容器部署分别隔离什么?
追问 系统、依赖、进程和文件怎样组织?容器是否包含独立内核,为什么容器化后仍需考虑宿主机资源与运行平台?
前端构建产物与 Python 后端代码应怎样部署?
追问 SPA、服务端模板与前后端独立来源分别怎样接入?开发代理、本地热更新和生产静态服务有什么区别?
怎样画出一个题库平台的部署拓扑?
追问 公网入口、内部应用、MySQL、Redis、Worker 和文件存储分别连向哪里?哪些端口需要公开,哪些只需内部访问?
应用启动入口、工作目录和模块导入路径怎样确认?
追问 模块名、应用对象与工厂函数分别怎样表达?工作目录变化后,导入失败、相对配置路径和文件读写应怎样排查?
开发、测试与生产配置应怎样区分?
追问 数据库地址、Debug、域名、文件路径和密钥怎样注入?缺少关键配置时,为什么应明确失败而不是静默连接到错误环境?
怎样定义一次部署已经成功?
追问 启动、健康接口、数据库读写、登录和文件访问分别提供什么证据?为什么首页返回 200 不能独自证明整个业务链路正常?
部署模型核对资料: Flask:Deploying to Production、FastAPI:Server Workers、Django:Deployment checklist。Django 链接对应 5.2 文档,其他版本按项目依赖核对。