簡體   English   中英

設置Apache以使用虛擬主機在同一域上運行多個django應用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM