waitress 简介

在 Python 中,waitress 是一个 纯 Python 编写的、用于生产环境的 WSGI 服务器,主要用于将 Python Web 应用(如 Flask、FastAPI、Pyramid 等)部署到生产环境中。


waitress 简介

特点:

  • 纯 Python 实现:无任何 C 扩展,跨平台兼容性强。
  • 生产可用:虽然是纯 Python 的实现,但非常稳定,适合部署中小型服务。
  • 线程池并发:使用多线程处理请求,支持高并发。
  • 易于使用:配置简单,适合快速部署 Web 应用。

安装方式

pip install waitress

快速使用示例(以 Flask 为例):

from flask import Flask
from waitress import serve

app = Flask(__name__)

@app.route('/')
def hello():
    return "Hello, Waitress!"

if __name__ == '__main__':
    # 用 waitress 启动,而不是 Flask 的开发服务器
    serve(app, host='0.0.0.0', port=8080)

常用参数

serve(app, host='0.0.0.0', port=8080, threads=8, connection_limit=1000)
  • host: 监听的地址(0.0.0.0 监听所有IP)
  • port: 监听端口
  • threads: 工作线程数(默认是4,可根据机器配置调整)
  • connection_limit: 最大连接数限制(默认1000)

waitress 与其他 WSGI 服务器对比

特性 waitress gunicorn uWSGI
语言实现 纯 Python C + Python C + Python
配置复杂度 简单 复杂
支持平台 跨平台 跨平台 跨平台
使用场景 小中型项目 大中型项目 高性能场景
是否线程支持 ✅ 支持 多进程为主 支持多线程

使用场景建议

  • 非常适合在 企业内网、局域网 部署小中型项目。
  • 可搭配反向代理(如 Nginx)使用,增强生产性能。
  • 比 Flask 的 app.run() 更稳定,适合正式上线服务。

你可能感兴趣的:(waitress 简介)