Хостинг приложений PHP/JS и Django с помощью Apache под Windows
У меня есть WAMP Server 3.2 (Apache 2.4.46), установленный на Windows 10 (64-бит), он выведен в локальную сеть компании. Я использую его для размещения обычных php/js приложений. Мой httpd-vhosts.conf имеет следующий вид:
<VirtualHost *:80>
ServerName RealNameOfTheServer
DocumentRoot "d:/projects"
<Directory "d:/projects/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Сейчас у меня есть приложение Django, которое желательно разместить на том же сервере (поскольку у меня нет другого) вместе с другими php-приложениями. Я пытался следовать example для настройки виртуальных хостов, но он использует процесс daemon, который недоступен на Windows.
Мой httpd-vhosts.conf после внесенных изменений заставляет приложение Django работать правильно, но сбрасывает приложения php/js.
<VirtualHost *:80>
ServerName RealNameOfTheServer
DocumentRoot "d:/projects"
<Directory "d:/projects/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
WSGIPassAuthorization On
ErrorLog "logs/dashboard.error.log"
CustomLog "logs/dashboard.access.log" combined
WSGIScriptAlias / "d:\projects\dashboard\dashboard\wsgi_windows.py"
WSGIApplicationGroup %{GLOBAL}
<Directory "d:\projects\dashboard\dashboard">
<Files wsgi_windows.py>
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Files>
</Directory>
Alias /static "d:/projects/dashboard/static"
<Directory "d:/projects/dashboard/static">
Require all granted
</Directory>
</VirtualHost>
Есть ли способ запускать приложения php и Django на Windows?
WSGIScriptAlias / "d:\projects\dashboard\dashboard\wsgi_windows.py"
также будет перехватывать вызовы к "d:/projects" - поэтому, если вы хотите избежать этого, вам нужно изменить на что-то вроде
WSGIScriptAlias /my_wsgi_app/ "d:\projects\dashboard\dashboard\wsgi_windows.py"
Если вы хотите избежать того, чтобы пользователь мог видеть это, вы можете использовать правило перезаписи для определенных путей.