Django и PHP вместе на сервере только с одним ip и портом

Я могу запустить Django и PHP на двух разных портах, как это http://pastebin.com/2eextGad

Но я хочу что-то вроде

54.22.22.22/app/ для проекта django

и что-нибудь кроме этого URL к корню документа PHP / var / www /

Я пытался бежать, как слушать 8081

<VirtualHost *:8081>
        WSGIScriptAlias /app/ /var/www/abc/index.wsgi

        Alias /static/ /var/www/abc/static/
        <Location "/static/">
            Options -Indexes
        </Location>
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined

Other than ip/app to php
Alias /var/www/
        DocumentRoot /var/www
        </VirtualHost>

Как это сделать

1 ответ

Решение

Я думаю, что это должно просто работать:

<VirtualHost *:8081>
        WSGIScriptAlias /app/ /var/www/abc/index.wsgi

        Alias /static/ /var/www/abc/static/
        <Location "/static/">
            Options -Indexes
        </Location>
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined

        DocumentRoot /var/www
</VirtualHost>

Это делает адреса, начинающиеся с /app/ быть поданным из обработчика wsgi, адреса начинаются с /static/ от /var/www/abc/static/ каталог, а все остальное подается в форме /var/www,

Однако в вашей настройке есть огромная проблема безопасности. Вы не должны хранить свой проект Django в папке, которая находится внутри папки DocumentRoot. Вы делаете доступным весь свой исходный код и настройки (включая пароли базы данных и секретные ключи для подписи файлов cookie!). Отодвиньте проект Django от /var/www немедленно.

Другие вопросы по тегам