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 可以显著提升吞吐与稳定性,配置简洁,维护成本低。