Flask/Django 自带的 WSGI Server 适合开发测试,不适合生产。线上通常使用 gunicorn + gevent 提升并发与稳定性。
下面按“安装 → 启动 → 配置 → 示例”走一遍。
安装
pip install gunicorn gevent
启动示例
最简单启动:
gunicorn code:application
绑定端口:
gunicorn -b 127.0.0.1:8080 code:application
多进程:
gunicorn -w 8 code:application
使用 gevent:
gunicorn -k gevent code:application
推荐配置文件
gun.py:
import multiprocessing
import gevent.monkey
gevent.monkey.patch_all()
bind = "0.0.0.0:8800"
workers = multiprocessing.cpu_count() * 2 + 1
worker_class = "gunicorn.workers.ggevent.GeventWorker"
backlog = 2048
loglevel = "info"
pidfile = "log/gunicorn.pid"
logfile = "log/debug.log"
启动:
gunicorn -c gun.py hello:app
Flask 示例
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello_world():
return "Hello World!"
常见建议
workers不要开太大,避免调度开销。- gevent 适合 IO 密集场景,CPU 密集要靠多进程。
- 线上建议前面加 Nginx。
小结
生产场景用 gunicorn + gevent 可以显著提升吞吐与稳定性,配置简洁,维护成本低。