apache2:两个虚拟主机干扰

apache2:两个虚拟主机干扰

我是一名开发人员,而不是系统管理员:)我一直在不同的端口上并行运行多个虚拟主机,但这次有些东西干扰了。

我有一个 vhost,它运行基于 python 的 django web 应用程序,该应用程序使用 wsgi。另一个是普通的 php 应用程序。它们需要交互,我正在测试它。每个配置都在不同的文件中(基于 ubuntu)。

php应用程序:

<VirtualHost *:8778> 
    ServerAdmin webmaster@localhost
    ServerName lochost.localdomain

    DocumentRoot /home/projects/df/htdocs
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /home/projects/df/htdocs>
        Options Indexes FollowSymLinks MultiViews
        #AllowOverride None
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

python/django应用程序:

WSGIScriptAlias / /home/projects/dfp/wsgi/wsgi.py
WSGIPythonPath /home/projects/dfp/newapp

<VirtualHost *:9988>
    ServerAdmin webmaster@localhost
    ServerName localhost.local


    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} ^TRACE
    RewriteRule .* - [F]

    RewriteCond /home/projects/dfp/etc/httpd/maintenance-mode-on -f
    RewriteCond %{REQUEST_URI} !^/media/.*$
    RewriteRule ^.* /media/maintenance.html [L,PT]

    Alias /media /home/projects/dfp/newapp/media    

    <Directory /home/projects/dfp/newapp/media>
       Allow from all
       AllowOverride All
       Order allow,deny
    </Directory>                                       

    <Location "/media">
       SetHandler None
       #ExpiresActive on
       #ExpiresDefault "access plus 1 week"
       FileETag MTime Size
       EnableSendfile Off
    </Location>

    Alias /adminmedia /home/projects/dfp/administrative/media

    <Directory /home/projects/dfp/administrative/media/>
       Allow from all
       AllowOverride All
       Order allow,deny
    </Directory>

      <Location "/adminmedia">
       SetHandler None
       #ExpiresActive on
       #ExpiresDefault "access plus 1 week"
       FileETag MTime Size
    </Location>    

    <Directory /home/projects/dfp/newapp>
        <Files wsgi.py>
            Order deny,allow
            Allow from all
        </Files>
    </Directory>
</VirtualHost>

由于这个配置,当我转到 python 应用程序(localhost:9988)时一切正常,但访问 php 应用程序(localhost:8778)时,我被重定向到另一个应用程序以获取内容,虽然它没有出现 css,但地址栏仍然显示 localhost:8778。

哪里出了问题?我怀疑是WSGIScriptAlias / /home/projects/dfp/wsgi/wsgi.pyPython 应用程序配置顶部的指令导致了混乱。无论如何,我可以让两个应用程序并行运行,同时仍然使用 WSGI?谢谢

答案1

根据评论,将答案正式化:

只需将 WSGI 指令放置在 django 应用程序 VirtualHost 定义内。

相关内容