使用`waitress`在多个端口提供Django应用
我正在使用 waitress
来运行我的 Django 应用。现在我需要它能同时在两个端口上提供服务,而且要在同一个线程里运行。(不能在不同的进程中,因为我需要在开发时能够在调试器中运行它。)
我该怎么做呢?
2 个回答
0
我之前没用过 waitress
,不过从最新的文档来看,似乎没有提到可以使用多个端口。我快速查看了一下代码,找到了 runner.py
,里面有一些命令行选项的说明,而 --port=PORT
这个选项似乎不支持多个端口。虽然这不能算是确凿的证据,但也算是个不错的线索,没必要深入挖掘。
如果我想尝试给 waitress
添加这个功能,看起来需要用到 select
。
2
最新版本的waitress现在可以同时监听多个连接口,包括IPv4和IPv6。
以前你需要提供一个主机和端口的组合,现在你只需要给waitress
提供一个用空格分开的列表,它会根据需要创建多个连接口。
from waitress import serve
serve(wsgiapp, listen='0.0.0.0:8080 [::]:9090 *:6543')