Flask中在一台服务器上运行多个应用程序

0 投票
1 回答
2362 浏览
提问于 2025-04-18 11:13

目前我的服务器结构是这样的:

/srv/http/:
  index.html
  projects/:
    app1/
    app2/
    appetc/

原本的 index.html 是一个Flask应用,但我把它改成了静态网页,因为这样更符合我的需求。

我想要的是,让我在 project 文件夹里的多个应用能够在它们在文件结构中的位置找到对应的URL。也就是说:

app1: http://example.com/app1
app2: http://example.com/app2
appetc: http://example.com/appetc

现在这样是行不通的。我可以在正确的URL上访问应用的主页,但如果我点击任何链接(因为它是一个Flask应用),它就像是在服务器的根目录下运行一样。

我确实有服务器的根权限,可以编辑apache的配置文件,但我不能创建更多的子域名(我的DNS提供商限制了我,现在已经达到了限制)。另外,我对这个布局并不太固执。目前我处于一个过渡阶段,可以随意重组我的应用。

1 个回答

0

这段内容提到了一些关于如何同时运行多个Flask应用的技巧,具体可以参考文档。其中一个方法是使用werkzeug提供的中间件。下面是相关的代码示例:

from werkzeug.wsgi import DispatcherMiddleware
from frontend_app import application as frontend
from backend_app import application as backend

application = DispatcherMiddleware(frontend, {
    '/backend':     backend
})

撰写回答