多个django项目,mod_wsgi,单个域

多个django项目,mod_wsgi,单个域,django,mod-wsgi,Django,Mod Wsgi,我有两个不同的Django“项目”,我希望使用mod_wsgi在单个域上运行它们。使用mod_python,我相信有一种方法可以做到这一点,即某些url路径将映射到一个Django项目,其他路径映射到另一个项目,所有这些都在服务器级别 使用mod_wsgi可以做到这一点吗?如果可以,如何做到 我考虑过的事情有:Apache虚拟主机描述中的内容,application.wsgi文件中的内容,等等。但我还没有弄清楚如何做到这一点 谢谢 这并不复杂。只需设置WSGIScriptAlias指令,您将需要

我有两个不同的Django“项目”,我希望使用mod_wsgi在单个域上运行它们。使用mod_python,我相信有一种方法可以做到这一点,即某些url路径将映射到一个Django项目,其他路径映射到另一个项目,所有这些都在服务器级别

使用mod_wsgi可以做到这一点吗?如果可以,如何做到

我考虑过的事情有:Apache虚拟主机描述中的内容,application.wsgi文件中的内容,等等。但我还没有弄清楚如何做到这一点


谢谢

这并不复杂。只需设置
WSGIScriptAlias
指令,您将需要其中两个指令,每个路径一个,每个指令指向一个单独的
.wsgi
文件,其中包含您的项目设置。

我也在使用Apache,并且我正在使用一个域运行多个Django项目。你只需要做两件事:

  • 修改虚拟主机文件

    因为我使用的是Debian,所以我托管的每个域都有一个vhost文件。在vhost文件中,应该有多个vhost节。每个项目一个。在这些部分中,您可以定义WSGIScriptAlias

    <VirtualHost *:80>
      ...
     WSGIScriptAlias / /path/to/project1.wsgi
     ...
    </VirtualHost>
    
    <VirtualHost *:80>
      ...
      WSGIScriptAlias / /path/to/project2.wsgi
      ...
    </VirtualHost>
    
    我见过很多其他的*.wsgi文件有更多的“魔力”。但这应该让你开始。你可以在网上找到很多例子


  • 希望这能回答你的问题。不要害怕问更多的问题。

    谢谢你,Jens-但我不想要单独的子域(如果可能的话)。我想要一个用于多个项目的单一域,但URL映射到服务器级别的相应项目。因此,您需要www.yourdomain.com/project1/和www.yourdomain.com/project2/?是的,非常需要。(事实上,我希望project1是www.yourdomain.com,project2是www.yourdoamin.com/project2…)你能按你想要的方式做吗?我想做的正是这个标记,因为答案对将来遇到这个标记的人会很有帮助。
    import os
    import sys
    os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
    sys.path.append('/path/to/your/project')
    import django.core.handlers.wsgi
    application = django.core.handlers.wsgi.WSGIHandler()