Nginx + Gunicorn + Python Web 应用 架构(Claude)

下面是各层的核心要点:

Nginx(反向代理层) :暴露在公网,监听 80/443 端口。负责 SSL 终止、直接服务静态文件(/static//media/),以及将动态请求通过 Unix Domain Socket(或 TCP 端口)转发给 Gunicorn,同时可配置限流和负载均衡。

Gunicorn(WSGI 服务器层) :运行在内网,由一个 Master 进程 fork 出多个 Worker 进程(通常配置为 2×CPU核数 + 1)。每个 Worker 是独立的 Python 进程,处理一个并发请求。Master 负责监控 Worker 存活和优雅重启。

Python WSGI 应用层 :Flask / Django / FastAPI(配合 uvicorn 则是 ASGI)。Gunicorn 按照 PEP 3333 规范调用应用的 __call__ 入口,传入 environstart_response,应用返回响应体迭代器。

数据层:应用通过 ORM(SQLAlchemy、Django ORM)访问关系型数据库,通过 redis-py 访问缓存/队列,通过 boto3 等 SDK 访问对象存储。


典型进程通信方式对比:

方式 延迟 适用场景
Unix Socket 最低 Nginx 与 Gunicorn 在同一机器
TCP 127.0.0.1:8000 略高 容器间通信或跨机部署

Systemd 管理建议 :Nginx 和 Gunicorn 各自独立注册为 systemd service,通过 socket activation 可以实现零停机重启。

相关推荐
学测绘的小杨15 小时前
CompassFusion:一个从 GNSS 到 GNSS/INS 组合导航的独立工程包
python
zzzzzz3101 天前
当产品经理说这个很简单:我用Python自动化处理奇葩需求的实战指南
python·pycharm·产品经理
雪隐1 天前
个人电脑玩AI-06让5060 Ti给你打工——不光能画画,Qwen3-TTS还能学人说话,连我老板都信了!
人工智能·后端·python
兵慌码乱1 天前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构
hboot1 天前
AI工程师第三课 - 机器学习基础
python·scikit-learn·kaggle
Avan_菜菜2 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
顾林海2 天前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
呱呱复呱呱2 天前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
曲幽2 天前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码2 天前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python