[英]Which value for WSGIApplicationGroup when running multiple Django virtual hosts?
[英]Setting Apache to run multiple django apps on the same domain with virtual hosts
我想在同一主機上有兩個不同的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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.