关于apache的多个django项目[UPDATE]

时间:2017-08-16 18:37:39

标签: django apache mod-wsgi wsgi

在帮助之后,我来到这个proj.conf:

<VirtualHost *:80>
    WSGIScriptAlias /f_app /home/4rsenal/f_proj/f_proj/wsgi.py

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

    Alias /static/ /home/4rsenal/f_proj/static
    <Directory /home/4rsenal/f_proj/static>
            Require all granted
    </Directory>

    <Directory /home/4rsenal/f_proj/f_proj>
            <Files wsgi.py>
                    Requier all granted
            </Files>
    </Directory>
    WSGIProcessGroup f_proj
    WSGIDaemonProcess f_proj python-home=/home/4rsenal/f_proj/f_projenv python-path=/home/4rsenal/f_proj   
</VirtualHost>

<VirtualHost *:80>
    WSGIScriptAlias /m_app /home/4rsenal/m_proj/m_proj/wsgi.py

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

    Alias /static/ /home/4rsenal/m_proj/static
    <Directory /home/4rsenal/m_proj/static>
            Require all granted
    </Directory>

    <Directory /home/4rsenal/m_proj/m_proj>
            <Files wsgi.py>
                    Requier all granted
            </Files>
    </Directory>
    WSGIProcessGroup m_proj
    WSGIDaemonProcess m_proj python-home=/home/4rsenal/m_proj/m_projenv python-path=/home/4rsenal/m_proj
</VirtualHost>

使用新别名&#39;,如果我输入http://[MYIPADDRESS]/f_app/f_app/我很高兴与该网站一起使用,但如果我输入http://[MYIPADDRESS]/m_app/m_app/,我会收到Not Found错误。为什么一个别名起作用而另一个起作用呢? (一旦我得到这两个工作,我可以修复看起来很愚蠢的网址。)

1 个答案:

答案 0 :(得分:2)

如果您的配置准确,问题的基础是您有两个VirtualHost定义,但都没有ServerName。这意味着无法应用基于名称的主机名匹配,因此它始终使用第一个VirtualHost

如果您希望它们都在同一主机名下,则配置应全部位于VirtualHost {/ p>}。

此类问题以及与同时运行多个Django应用程序相关的其他问题在博客文章中进行了解释: