gpt4 book ai didi

python - 如何在单个 apache 服务上设置多个 django 版本?

转载 作者:行者123 更新时间:2023-11-30 23:49:31 25 4
gpt4 key购买 nike

我使用的是 Windows XP,想知道如何通过虚拟主机在单个 apache 服务上创建多个 django 版本(当然)。

我也尝试用一个 python 实例来做到这一点。我应该为每个 django 版本创建 1 个 python 实例,还是 django 只需要它的 Egg 即可工作,这样我就可以在一个 Python 版本中拥有多个 Egg?

最佳答案

您可以在 httpd.conf 中执行类似的操作

NameVirtualHost 0.0.0.0:80
<VirtualHost 0.0.0.0:80>
ServerName myserver.com
ServerAdmin myemail@gmail.com
DocumentRoot "/path/to/html/root"
ErrorLog "/path/to/apache-error.log"
CustomLog "/path/to/apache-access.log" common

Options ExecCGI FollowSymLinks MultiViews

AddHandler wsgi-script .wsgi
WSGIDaemonProcess djangoapp1
WSGIProcessGroup djangoapp1
WSGIScriptAlias / /path/to/djangoapp1.wsgi

Alias /static /path/to/static/files

DirectoryIndex index.html index.cgi

AddHandler cgi-script .cgi .pl
</VirtualHost>

NameVirtualHost 0.0.0.0:81
<VirtualHost 0.0.0.0:81>
ServerName myserver.com
ServerAdmin myemail@gmail.com
DocumentRoot "/path/to/html/root"
ErrorLog "/path/to/apache-error.log"
CustomLog "/path/to/apache-access.log" common

Options ExecCGI FollowSymLinks MultiViews

AddHandler wsgi-script .wsgi
WSGIDaemonProcess djangoapp2
WSGIProcessGroup djangoapp2
WSGIScriptAlias / /path/to/djangoapp2.wsgi

Alias /static /path/to/static/files

DirectoryIndex index.html index.cgi

AddHandler cgi-script .cgi .pl
</VirtualHost>

然后,在 djangoapp1.wsgi/djangoapp2.wsgi 脚本中,您可以定义不同的 django 版本和应用程序:

#!/usr/bin/python
import os
import sys
sys.path.append('')
sys.path.append('/path/to/python2.7/site-packages')
sys.path.append('/path/to/python2.7/dist-packages/Django-1.3-py2.7.egg ')
... etc ...
sys.path.append('/path/to/djangoapp1/src')
os.environ['DJANGO_SETTINGS_MODULE'] = 'djangoapp1.settings'
os.environ['PYTHON_EGG_CACHE'] = '/tmp'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

关于python - 如何在单个 apache 服务上设置多个 django 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7614940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com