Python Flask中一台服务器上的多个应用程序
当前我的服务器结构如下所示:Python Flask中一台服务器上的多个应用程序,python,flask,Python,Flask,当前我的服务器结构如下所示: /srv/http/: index.html projects/: app1/ app2/ appetc/ index.html是一个Flask应用程序,但我将其更改为一个静态网页,因为这符合我的需要 我想让我的多个应用程序(在项目文件夹中)位于文件结构中的URL上。i、 e app1: http://example.com/app1 app2: http://example.com/app2 appetc: http://exam
/srv/http/:
index.html
projects/:
app1/
app2/
appetc/
index.html
是一个Flask应用程序,但我将其更改为一个静态网页,因为这符合我的需要
我想让我的多个应用程序(在项目
文件夹中)位于文件结构中的URL上。i、 e
app1: http://example.com/app1
app2: http://example.com/app2
appetc: http://example.com/appetc
目前这不起作用。我可以通过正确的url导航到应用程序的主页,但如果我单击任何链接(因为它是Flask应用程序),它的行为就像它在服务器的根目录上运行一样
我确实拥有对服务器的root访问权限,并且能够编辑apache配置文件,但是我没有能力创建更多的子域(我的dns提供商限制了我,我目前处于该限制)。此外,我没有设置此布局。我目前正处于一个过渡阶段,我可以根据自己的意愿重组我的应用程序。提供了运行多个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
})
也许运行一个WSGI服务器(比如twisted),让它根据路径吐出不同的WSGI对象。类似吗?这是每个页面上的超链接没有指向正确URL的问题吗?您可能需要正确设置
WSGIScriptAlias
。例如:WSGIScriptAlias/app1/some/path/to/app1.wsgi
@cpb2 mod\u wsgi可配置为使用带有WSGIDaemonProcess
指令的守护进程。这允许您拥有一个长时间运行的流程,而不是为每个请求旋转一个流程。