我有两个不同的Django"项目",我想使用mod_wsgi在单个域上运行.使用mod_python,我相信有一种方法可以做到这一点,其中某些url路径将映射到一个Django项目,而其他路径映射到另一个项目,所有这些都在服务器级别.
是否可以使用mod_wsgi执行此操作,如果是,如何执行此操作?
我考虑过的事情:Apache虚拟主机描述中的内容,application.wsgi文件中的内容等等.但我还没弄清楚具体如何做到这一点.
谢谢!
我也在使用Apache,我正在使用一个域运行多个Django项目.你只需要做两件事:
修改虚拟主机文件
由于我使用的是Debian,我为每个托管的域名都有一个vhost文件.在您的vhost文件中,您应该有多个vhost部分.每个项目一个.在这些部分中,您可以定义WSGIScriptAlias.
<VirtualHost *:80>
...
WSGIScriptAlias / /path/to/project1.wsgi
...
</VirtualHost>
<VirtualHost *:80>
...
WSGIScriptAlias / /path/to/project2.wsgi
...
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
当然,您必须添加所有其他必要信息.项目1和项目2肯定会有不同的子域名.例如project1.yourdomain.com和project2.yourdomain.com.
写下*.wsgi文件
编写和存储*.wsgi文件的方法有很多种.我不知道任何最佳做法.就我而言,我将它们存储在我的项目文件夹中.
这是一个例子:
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()
Run Code Online (Sandbox Code Playgroud)
我已经看到很多其他*.wsgi文件更具"魔力".但这应该让你开始.你可以在互联网上找到很多例子.
希望这能回答你的问题.不要害怕提出更多问题.
| 归档时间: |
|
| 查看次数: |
3125 次 |
| 最近记录: |