Назад | Перейти на главную страницу

apache2: два виртуальных хоста мешают

Я разработчик, а не системный администратор :) Я всегда запускал несколько хостов параллельно на разных портах, но на этот раз что-то мешает.

У меня есть один vhost, который запускает веб-приложение django на основе Python, которое использует 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.py директива в верхней части конфигурации приложения python вызывает беспорядок. В любом случае, я мог бы запустить оба приложения параллельно, все еще используя WSGI? Спасибо

Чтобы формализовать ответ, по комментариям:

Просто поместите директивы WSGI в определение VirtualHost приложения django.