2017-02-15 3 views
0

Я установил флеш-приложение, работающее с apache 2.4, mod wsgi, python 2.7 на mac мини. Он служит для некоторых полезных данных, которые моя команда использует для мониторинга нашего проекта.Получение Django Apache Mysql WSGI, работающий с использованием python 3.4 virtualenv на машине с предварительно существующим флеш-приложением, работающим под глобальным python2.7

Недавно я разработал приложение Django с базой данных базы данных MySQL, которое отлично работает под тестовым сервером в виртуальной среде python 3.4 с Django 1.10 и PyMySQL и mysqlclient, установленными через pip, но я не могу заставить это работать под апач.

Моя конфигурация Apache Виртуальный сервер выглядит следующим образом:

WSGIScriptReloading On 

    <VirtualHost *> 
     ServerName <server_name> 
     ServerAlias <project_name> 
     ServerAdmin <myEmail> 
     LogLevel info 

     # This is the WSGI daemon process for the existing python 2.7/flask project 
     # Even if I comment this bit out, the Django project still won't work 
     WSGIDaemonProcess theApp user=_www group=staff threads=5 
     WSGIScriptAlias /app1 /path/to/theApp/apache/wsgi.py 
     <Directory "/path/to/theApp/apache"> 
      WSGIProcessGroup app1 
      WSGIApplicationGroup %{GLOBAL} 
      <Files wsgi.py> 
       Require all granted 
      </Files> 
     </Directory> 

     # This is the WSGI daemon process for my django app - I've anonymised it 
     # a bit but I am confident the paths used are correct 

     WSGIDaemonProcess djangoApp user=_www group=staff processes=2 threads=15 python-path=/path/to/djangoApp:/path/to/virtualenvs/env34 display-name=%{GROUP} 
     WSGIProcessGroup djangoApp 
     WSGIApplicationGroup %{GLOBAL} 
     WSGIScriptAlias /djangoApp /path/to/djangoApp/djangoApp/wsgi.py 
     <Directory /path/to/djangoApp/djangoApp> 
       <Files wsgi.py> 
        Require all granted 
       </Files> 
     </Directory> 

    </VirtualHost> 

Существует линия в httpd.conf:

LoadModule wsgi_module /Library/Python/2.7/site-packages/mod_wsgi/server/mod_wsgi-py27.so 

Замена этого с помощью следующей строки:

LoadModule wsgi_module /path/to/.virtualenvs/env34/lib/python3.4/site-packages/mod_wsgi/server/mod_wsgi-py34.so 

Разбивает существующее приложение python 2.7/Flask и не исправляет мое приложение Django

Апач журнал ошибок имеет некоторые заметные ошибки:

'/path/to/djangoApp/djangoApp/wsgi.py' cannot be loaded as Python module. 

ImportError: No module named django.core.wsgi 

Так, глядя на другие вопросы, которые я получаю впечатление, что существует проблема запуска приложения python3.4 на основе и WSGI, скомпилированные для Python 2.7, но учитывая что это приложение прекрасно работает под тестовым сервером django и виртуальной средой, я не могу не чувствовать, что должен быть способ реализовать его на рабочем сервере.

Большое спасибо за любую помощь

PJ

ответ

0

Читать:

Вы должны избегать использования python-path обратиться к виртуальной среде Python. Для того, как вы пытаетесь использовать python-path, это не сработает, как неверный путь.

+0

Большое спасибо Грэм. Читая это, у меня создается впечатление, что я могу использовать только mod_wsgi, скомпилированный для одной версии Python, и поэтому мне нужно будет обновить мой существующий проект фляги до python 3, чтобы и он, и мой новый проект Django могли жить друг с другом. , , наряду с сортировкой бита python-path. т. е. запускать это под apache, может быть только одна версия python, используемая для приложений, работающих под mod_wsgi. Достаточно, чтобы это сделать, модуль и вся документация, которые идут с ним, очень кстати! – pjmnoble

+0

Другой вариант - использовать '' mod_wsgi-express'' и иметь разные экземпляры для прокси-сервера. См. Https://pypi.python.org/pypi/mod_wsgi и сведения о проксировании по адресу http://blog.dscpl.com.au/2015/06/proxying-to-python-web-application.html и http://blog.dscpl.com.au/2015/07/redirection-problems-when-proxying-to.html Просто игнорируйте, что он говорит о Докере. –

+0

Чистый мертвый гениальный - оба сайта работают и работают! – pjmnoble

Смежные вопросы