Apache服务错误的Django项目

时间:2019-06-13 17:29:21

标签: django apache

我使用virtualenv创建了两个Django项目,并使用wsgi和Ubuntu 18.04上的两个虚拟主机使用Apache2为这两个项目提供服务。如果我将两个虚拟主机都配置在一个.conf文件中,则项目可以正常工作,但是如果我将一个.conf文件拆分为两个文件,则每个虚拟主机都配置一个,那么只有第一个主机(按字母顺序)起作用,对于第二个主机,Apache会尝试在第一个Django项目的文件夹中查找文件。

我正在使用带有Python 3.6的Ubuntu 18.04和带有Apache 2.4.29的Django 2.2.2。这个问题是由不同的人在博客上共享的,我尝试了这些解决方案,但似乎没有任何效果。

以下单个配置文件运行正常:

<VirtualHost *:80>

    ServerName virenvtst.tst
    ServerAdmin webmaster@virenvtst.tst
    DocumentRoot /var/www/html

    Alias /static /home/raza/projects/virenvtest/static
    <Directory /home/raza/projects/virenvtest/static>
        Require all granted
    </Directory>

    <Directory /home/raza/projects/virenvtest/myproject>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>    

    WSGIDaemonProcess myproject python-home=/home/raza/projects/virenvtest/virenvtestenv python-path=/home/raza/projects/virenvtest
    WSGIProcessGroup myproject
    WSGIScriptAlias / /home/raza/projects/virenvtest/myproject/wsgi.py

    <Location />
    WSGIProcessGroup myproject
    </Location>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

<VirtualHost *:80>

    ServerName djsample.tst

    ServerAdmin webmaster@djsample.tst
    DocumentRoot /var/www/html

    Alias /static /home/raza/projects/djsample/static
    <Directory /home/raza/projects/djsample/static>
        Require all granted
    </Directory>

    <Directory /home/raza/projects/djsample/mysite>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>


    WSGIDaemonProcess mysite python-home=/home/raza/projects/djsample/djsampleenv python-path=/home/raza/projects/djsample
    WSGIProcessGroup mysite
    WSGIScriptAlias / /home/raza/projects/djsample/mysite/wsgi.py

    <Location />
    WSGIProcessGroup mysite
    </Location>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

当我将此代码分成两个单独的文件时,则djsample.tst优先,当我尝试运行virenvtest.tst时,出现错误消息,Apaches尝试在djsample项目中查找文件。我得到以下回应,而不是默认的Django页面:

我得到以下输出:

位于/的DisallowedHost 无效的HTTP_HOST标头:“ virenvtest.tst”。您可能需要将“ virenvtest.tst”添加到ALLOWED_HOSTS。 请求方法:GET 要求网址:http://virenvtest.tst/ Django版本:2.2.2 异常类型:DisallowedHost 异常值:
无效的HTTP_HOST标头:“ virenvtest.tst”。您可能需要将“ virenvtest.tst”添加到ALLOWED_HOSTS。 异常位置:get_host,第111行中的/home/raza/projects/djsample/djsampleenv/lib/python3.6/site-packages/django/http/request.py Python可执行文件:/ usr / bin / python3 的Python版本:3.6.7 Python路径:
['/ home / raza / projects / djsample',  '/home/raza/projects/djsample/djsampleenv/lib/python36.zip',  '/home/raza/projects/djsample/djsampleenv/lib/python3.6',  '/home/raza/projects/djsample/djsampleenv/lib/python3.6/lib-dynload',  '/usr/lib/python3.6',  '/home/raza/projects/djsample/djsampleenv/lib/python3.6/site-packages'] 服务器时间:2019年6月13日,星期四13:59:51 +0000

0 个答案:

没有答案