Несколько приложений Django, использующих virtualenv на Apache 2 на Ubuntu 11 - PullRequest
5 голосов
/ 03 апреля 2012

Я успешно настроил одно приложение Django, используя virtualenv в Ubuntu и Apache 2, используя директиву WSGIPythonHome, указывающую на мое местоположение virtualenv.Теперь мне нужно создать отдельное приложение Django, которое будет работать на Apache на другом порту на том же сервере Ubuntu.Мне интересно, есть ли способ заставить Apache запускать несколько экземпляров WSGIPythonHome?В настоящее время с WSGIPythonHome, установленным в один virtualenv root, существует проблема с импортом во втором приложении Django…

Ответы [ 2 ]

2 голосов
/ 02 июня 2014

Лучший способ сделать это, я обнаружил около года назад, - это использовать WSGI в качестве демона и указать путь к python в директиве демона. Пример ниже

<VirtualHost *:80>
    ServerName yourhost.com

    <Directory />
      Order deny,allow
      #Require all granted
    </Directory>

    #Alias /static /opt/yourhost/static
    WSGIScriptAlias / /opt/yourhost/wsgi.py

    WSGIApplicationGroup %{GLOBAL}

    WSGIDaemonProcess yourhost.com python-path=/opt/yourhost:/opt/yourhost/venv/lib/python2.7/site-packages processes=2 threads=15 display-name=%{GROUP}
    WSGIProcessGroup  yourhost.com
</VirtualHost>
WSGISocketPrefix /var/run/wsgi
0 голосов
/ 03 апреля 2012

Вы должны сделать это с отдельными виртуальными хостами в Apache.Каждый из них может прослушивать определенный порт и может иметь свои отдельные директивы WSGI.

...