Flask werkzeug Dispatchermidware具有单独的端口

Flask werkzeug Dispatchermidware具有单独的端口,flask,werkzeug,Flask,Werkzeug,我正在尝试将我拥有的几个flask API组合到一个应用程序中,这样可以更容易地为开发人员部署和设置,而不需要运行三个单独的应用程序。当前,每个api驻留在一个单独的端口上。我正在尝试使用DispatcherMiddle软件来运行这三个应用程序,但到目前为止,似乎只能使用如下前缀 from frontend import app as frontend from TestApi import app as test from DevApi import app as dev from werk

我正在尝试将我拥有的几个flask API组合到一个应用程序中,这样可以更容易地为开发人员部署和设置,而不需要运行三个单独的应用程序。当前,每个api驻留在一个单独的端口上。我正在尝试使用DispatcherMiddle软件来运行这三个应用程序,但到目前为止,似乎只能使用如下前缀

from frontend import app as frontend
from TestApi import app as test
from DevApi  import app as dev
from werkzeug.serving import run_simple
from werkzeug.wsgi import DispatcherMiddleware

app = DispatcherMiddleware(frontend, {
    '/test':     test,
    '/dev':      dev
})
run_simple('localhost', 4000, app, use_reloader=True)
现在我所有的服务都在4000上运行,但我想要的是这样的

from frontend import app as frontend
from TestApi import app as test
from DevApi  import app as dev
from werkzeug.serving import run_simple
from werkzeug.wsgi import DispatcherMiddleware

app = DispatcherMiddleware(frontend, {
    ':5000':     test,
    ':6000':      dev
})
#frontend runs on 4000, test runs on 5000, dev runs on 6000
run_simple('localhost', 4000, app, use_reloader=True) 

我只是在要求一些毫无意义的东西,或者有没有办法使用这个或其他设置来完成

我得出的结论是,这是一个愚蠢的想法,非常脆弱,需要很多不必要的复杂性。相反,我选择编写一个bash脚本,将所有应用程序作为各自端口上的单独wsgi实例启动。

关于应用程序调度的Flask文档中没有关于基于端口的调度的提示。正如您提到的,您可以简单地启动单独的wsgi实例,据我所知,这是使用Werkzeug的唯一可能的方法


参考资料:

虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-谢谢你的评论-以前从未对stackoverflow发表过评论。将来一定会考虑这一点,尽管如此,我认为这个链接非常有用,因为它帮助我自己寻找答案。