我想在同一主机上有两个不同的django应用程序。这是我的default
虚拟主机配置文件(有效)。
WSGIPythonHome /home/user/.virtualenvs/project1
<VirtualHost *:80>
ServerAdmin webmaster@localhost
WSGIDaemonProcess project1 processes=4 threads=10 display-name=%{GROUP}
WSGIProcessGroup project1
WSGIScriptAlias /project1 /home/user/project1/project1/wsgi.py
Alias /project1/static/ /home/user/project1/project1/staticfiles/
</VirtualHost>
问题是WSGIPythonHome
指令,不能在VirtualHost
标记内。因此,同一default
配置文件中不能有不同的项目。它必须在其他地方。
如文档中所述,我尝试禁用WSGIPythonHome
和使用home=/home/user/.virtualenves/project1
参数WSGIDaemonProcess
,但我的应用程序无法正常工作(尝试加载wsgi.py文件时出现导入错误。奇怪的是,如果仅使用,我的项目就可以正常工作WSGIPythonHome
) 。
我想要的是拥有另一个django项目:
WSGIPythonHome /home/user/.virtualenvs/project2
<VirtualHost *:80>
ServerAdmin webmaster@localhost
WSGIDaemonProcess project2 processes=4 threads=10 display-name=%{GROUP}
WSGIProcessGroup project2
WSGIScriptAlias /project2 /home/user/project2/project2/wsgi.py
Alias /project2/static/ /home/user/project2/project2/staticfiles/
</VirtualHost>
但是我不能把它放在同一个default
文件中(在/ etc / apaches2 / sites-available中)。我尝试default-001
在其中添加文件,然后重新启动了Apache,但没有成功。
那么,我应该在哪里放置第二个django项目配置?
更新。这是我的wsgi.py文件
import os, sys, site
site.addsitedir('/home/user/.virtualenvs/project1/lib/python2.7/site-packages')
activate_this = os.path.expanduser("/home/user/.virtualenvs/project1/bin/activate_this.py")
execfile(activate_this, dict(__file__=activate_this))
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project1.settings")
project = '/home/user/project1/'
workspace = os.path.dirname(project)
sys.path.append(workspace)
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
您可以在Apache中创建多个虚拟主机配置。在该文件夹中创建一个新的配置文件sites-available
。通过运行a2ensite
然后重新启动Apache来启用该站点。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句