Я разработчик, а не системный администратор :) Я всегда запускал несколько хостов параллельно на разных портах, но на этот раз что-то мешает.
У меня есть один 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.