女招待¶
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地址。