Gunicorn生产实践
Gunicorn是Python Web应用的进程管理服务器,核心负责多进程管控(如Worker崩溃自动重启、平滑重启),适配WSGI/ASGI应用,常搭配Uvicorn管理异步进程,保障生产环境服务稳定。
🎯 一、核心定位
| 工具 | 核心角色 | 核心能力 | 适用场景 |
|---|---|---|---|
| Gunicorn | 进程管理服务器(WSGI/ASGI) | 多进程管控、容错、平滑重启、日志聚合 | 生产环境进程管理+运维管控 |
| Uvicorn | 异步协议服务器(ASGI) | 处理异步请求、HTTP/2、WebSocket | 开发环境调试、生产环境请求处理内核 |
核心原则:生产环境异步应用必须用 Gunicorn(管进程/日志) + Uvicorn(处理请求);同步应用可单独用 Gunicorn;开发环境仅用 Uvicorn。
⚙️ 二、环境准备
📦 1. 安装依赖
# 基础安装(同步应用:Flask/Django 同步)
pip install gunicorn
# 全量安装(异步应用:FastAPI/Starlette)
pip install gunicorn uvicorn fastapi
📝 2. 示例应用
创建 main.py(以 FastAPI 为例,兼容同步/异步):
from fastapi import FastAPI
import os
import time
app = FastAPI()
# 测试接口:返回当前进程ID
@app.get("/pid")
async def get_pid():
return {
"worker_pid": os.getpid()}
# 测试接口:模拟进程崩溃(验证容错)
@app.get("/crash")
async def crash():
os._exit(<

最低0.47元/天 解锁文章
2669

被折叠的 条评论
为什么被折叠?



