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 可以实现零停机重启。

相关推荐
夜雪一千3 分钟前
Python从HTML提取纯文本、去空格、比对内容是否变化:方案+合理性分析
开发语言·python·html
Zane19941 小时前
同一个 list 为什么能被两个 for 循环同时遍历?一文讲透可迭代对象与迭代器的真相
后端·python
月走乂山2 小时前
零依赖 GUI:把 OpenCode CLI 变成可视化 AI 任务流水线
python·自动化·ai编程·tkinter·opencode
孙启超2 小时前
【AI应用开发】Agent 无限 loop(反复调用同一个工具)如何规避?
人工智能·python·算法·llm·agent·loop·ai应用开发
银-豆豆2 小时前
Python爬虫
开发语言·爬虫·python
香吧香3 小时前
Python 基础语法总结
python
IT小盘3 小时前
10-使用Reranker提升RAG回答准确率
人工智能·python
卷无止境3 小时前
Python 装饰器:给函数穿件"外套",到底难在哪?
后端·python
大地之灯3 小时前
从零做一个自己的 CLI
python·agent
gugucoding3 小时前
34.【Java】I/O流(下):NIO与文件操作
java·python·nio