2013-09-12 2 views
0

У меня есть проекты django, над которыми я работал, и я хочу развернуть их с помощью wamp-сервера. Я хочу, чтобы моя структура будет выглядеть следующим образом:развертывание нескольких проектов django с apache, одним wsgi или многими?

/www 
    /project1 
      /static 
      /media 
      /templates 
      /project1 
        /settings.py 
        /urls.py 
      /app1 
      /app2 

    /project2 
      /static 
      /media 
      /templates 
      /project1 
        /settings.py 
        /urls.py 
      /app1 
      /app2 

Тогда URLs бы указать:

http://localhost/project1/(urls of project1) 
http://localhost/project2/(urls of project2) 

Каждый проект использует различные базы данных, другой сайт администратора (некоторые индивидуальные), и так далее , Мне никогда не придется делиться данными между ними. Я пробовал искать и читать об этом, и, используя несколько сценариев WSGI, кажется really buggy. Также, как я понимаю, я не могу использовать рекомендованный режим демона, потому что я использую окна.

Нельзя ли использовать несколько сценариев wsgi на одном сервере? Должен ли я попытаться создать тот, который будет обрабатывать все проекты? Как это будет выглядеть и как будет настроен apache для работы с ним? Является ли моя предполагаемая структура выше совершенно неправильной?

Я использую Apache 2.2e с mod_wsgi 3.3, Django 1.5.1 и Python 2.7

ответ

1

Нет, это не одобряется использовать несколько сценариев WSGI и делать это не глючит как таковой, за исключением тех случаев, которые Django создает неудобный файл сценария WSGI, который необходимо изменить, чтобы убедиться, что вы не получаете утечки среды.

При этом у вас могут быть проблемы с сторонними модулями расширения C для Python, которые сломаны и не работают в суб-интерпретаторах, поэтому рекомендуется использовать режим демона, если вы можете, поскольку вы можете обходиться таких багги сторонних модулей.

Так что в целом нет проблем с mod_wsgi, но вы можете столкнуться с проблемами при использовании другого программного обеспечения, которое использует оптимальный способ настройки вещей или которые разбиты по дизайну.

Лично я бы предложил просто не использовать Windows, поскольку это плохая среда для работы с веб-приложениями Python. Используйте только Windows, если у вас нет абсолютного выбора.

+0

Вау! Ответ от самого Грэма Дамплтона. Спасибо! У меня нет (в настоящее время) выбора, кроме окон, но, с признательностью, я также не знаком с средой Linux (хотя я бы хотел быть). Я хотел бы использовать демон, но django docs упомянули, что это не для окон, поэтому я не могу его использовать? Или я могу и это просто не поможет? – yuvi

+0

Кроме того, вы упомянули в своей (фантастической) статье, что алиасы WSGI нужно заказывать по длине. Предположим, что я не использую псевдоним '/' и даю каждому проекту определенное имя для добавления своих URL-адресов, мне все равно нужно заказать его по длине? – yuvi

+0

Это не длина, но наиболее глубоко вложенная. Таким образом, упорядоченные по глубине и имени в каждом сегменте, а не только по количеству общих символов. –

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