女招待

Waitress 是一个纯Python WSGI服务器。

  • 它很容易配置。

  • 它直接支持Windows。

  • 它很容易安装,因为它不需要额外的依赖项或编译。

  • 它不支持流请求,始终缓冲完整的请求数据。

  • 它使用具有多个线程工作进程的单个进程。

这一页概述了经营女服务员的基本知识。请务必阅读其文档并 waitress-serve --help 以了解哪些功能可用。

正在安装

创建一个Virtualenv,安装应用程序,然后安装 waitress

$ cd hello-app
$ python -m venv venv
$ . venv/bin/activate
$ pip install .  # install your application
$ pip install waitress

正在运行

唯一需要的参数是 waitress-serve 告诉它如何加载您的应用程序。其语法为 {module}:{app}module 是包含应用程序的模块的带点的导入名称。 app 是应用程序的变量。如果您使用的是应用程序工厂模式,请使用 --call {module}:{factory} 取而代之的是。

# equivalent to 'from hello import app'
$ waitress-serve hello:app --host 127.0.0.1

# equivalent to 'from hello import create_app; create_app()'
$ waitress-serve --call hello:create_app --host 127.0.0.1

Serving on http://127.0.0.1:8080

这个 --host 选项将服务器绑定到本地 127.0.0.1 只有这样。

不会显示每个请求的日志,只会显示错误。日志记录可以通过Python界面而不是命令行来配置。

对外约束

Waitress不应以超级用户身份运行,因为这会导致应用程序代码以超级用户身份运行,这是不安全的。但是,这意味着无法绑定到端口80或443。相反,像这样的反向代理 恩吉克斯ApacheHTTPD 应该在女服务员面前使用。

可以绑定到非特权端口上的所有外部IP,方法是不指定 --host 选择。使用反向代理设置时不要执行此操作,否则可能会绕过代理。

0.0.0.0 不是有效的导航地址,则需要在浏览器中使用特定的IP地址。