mod_wsgi:如何在单个域下运行不同的应用程序?

时间:2016-02-11 22:13:29

标签: python apache flask mod-wsgi vhosts

我有一个域 example.com ,我在那里运行一个标准的Apache(提供静态文件和PHP)。我想在 subdomain.example.com 上运行Python提供的页面。

我设法配置Apache来执行此操作,并且在 subdomain.example.com 上运行了一个Flask应用程序。但是,在虚拟主机配置文件中,整个子域对于这个单个应用程序来说很紧张。我想进一步在这个子域上运行几个不同的应用程序。

例如:

subdomain.example.com/app1/将运行/var/www/apps/app1/app.wsgi subdomain.example.com/app2/将运行/var/www/apps/app2/app.wsgi

依旧......

此外,我希望这是全自动的,就是当我在 / var / www / apps / 中设置新文件夹时,我可以通过Apache访问该应用程序而无需进一步配置。< / p>

我可以看到几种方法:

  1. 配置Apache以路由每个 subdomain.example.com 请求 在Python中运行特定应用程序的单个“元应用程序” 基于给定的URL。
  2. 使用可以处理的Apache配置做一些魔术 这是自动的。
  3. 也许使用 nginx ?我对此并没有多少经验, 但有人告诉我这可以解决问题。
  4. 有关于如何做到这一点的最佳做法吗?谢谢。

1 个答案:

答案 0 :(得分:1)

看起来您应该能够通过向/var/www/apps指令提供目录路径(在您的情况下为WSGIScriptAlias)来实现此目的。在这里阅读更多内容:

https://modwsgi.readthedocs.org/en/develop/configuration-directives/WSGIScriptAlias.html

这似乎比使用元应用程序更简洁。