Запуск django и фляги на одном сервере apache - PullRequest
7 голосов
/ 20 февраля 2012

Я пытаюсь запустить django и flask на одном и том же сервере apache.

WSGISocketPrefix /var/www/wsgi
<VirtualHost *:80>
        ServerAdmin name@email.com
        ServerName  domain.com
        ServerAlias www.domain.com
        DocumentRoot /var/www/
        LogLevel warn
        WSGIDaemonProcess apache processes=2 maximum-requests=500 threads=1
        WSGIProcessGroup apache
        Alias /media /var/www/media/

        WSGIScriptAlias / /var/www/djangoapps/django.wsgi
        WSGIScriptAlias /app1 /var/www/flaskapps/app.wsgi
</VirtualHost>
  1. Первый WSGIScriptAlias запускает приложение django в корне: domain.com.
  2. Второй экземпляр WSGIScriptAlias должен запустить приложение фляги в поддомене: app1.

Но поскольку основной сайт находится над django, когда я пытаюсь нажать: domain.com/app1, django urls.py пытается обработать эту команду url. Но urls.py не должен с этим справляться, так как это приложение для работы с флягами.

Есть идеи, как мне это сделать?

Ответы [ 2 ]

7 голосов
/ 20 февраля 2012

Я не уверен, что это решит проблему, но вы пытались изменить порядок псевдонимов своего сценария, чтобы /app1 был найден до /?

WSGISocketPrefix /var/www/wsgi
<VirtualHost *:80>
        ServerAdmin name@email.com
        ServerName  domain.com
        ServerAlias www.domain.com
        DocumentRoot /var/www/
        LogLevel warn
        WSGIDaemonProcess apache processes=2 maximum-requests=500 threads=1
        WSGIProcessGroup apache
        Alias /media /var/www/media/
        WSGIScriptAlias /app1 /var/www/flaskapps/app.wsgi
        WSGIScriptAlias / /var/www/djangoapps/django.wsgi

</VirtualHost>
0 голосов
/ 03 октября 2018

Для тех, кто хочет добиться того же в 2018 году, это действительно помогло мне:

https://www.phusionpassenger.com/library/deploy/apache/deploy/python/

Я знаю, что это не по теме, но я нашел этот вопрос как 20 поисков, прежде чем янашел ссылку на описание от пассажира ....

Как ev здесь выдержка из учебника:

<VirtualHost *:80>
    ServerName www.phusion.nl
    DocumentRoot /websites/phusion/public
<Directory /websites/phusion>
    Allow from all
    Options -MultiViews
    # Uncomment this if you're on Apache >= 2.4:
    #Require all granted
</Directory>

Alias /subapp /websites/secondapp/public
<Location /subapp>
    PassengerBaseURI /subapp
    PassengerAppRoot /websites/secondapp

    PassengerAppType wsgi
    PassengerStartupFile passenger_wsgi.py
</Location>
<Directory /websites/secondapp/public>
    Allow from all
    Options -MultiViews
    # Uncomment this if you're on Apache >= 2.4:
    #Require all granted
</Directory>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...