Как развернуть Django с помощью Spawning - PullRequest
5 голосов
/ 01 февраля 2009

Нет большой документации о том, как развернуть проект Django с Spawning , и все же люди рекомендуют его через apache / mod_wsgi.

В другом похожем вопросе другой пользователь SO предложил мне открыть новый вопрос, специфичный для Spawn, поэтому, надеюсь, другие тоже смогут поделиться своим опытом.

Ответы [ 4 ]

3 голосов
/ 03 февраля 2009

cd в директорию settings.py вашего django.

Вот командная строка для обслуживания вашего приложения django

spawn --factory=spawning.django_factory.config_factory settings --port 80
3 голосов
/ 01 февраля 2009

Мне было бы интересно узнать, кто серьезно рекомендует Spawning поверх Apache и mod_python или mod_wsgi.

Судя по тому, что этот вопрос сейчас # 4, результат в Google за "порождение django", я бы сказал, что это очень рано. :) Если вы сейчас добавляете что-то серьезное в производственный процесс, используйте Apache / mod_wsgi.

2 голосов
/ 01 февраля 2009

Эрик Флоренцо провел базовое тестирование нереста . Обязательно прочитайте все комментарии, а также основной пост.

Лично мне всегда нравится исследовать подобные решения, но в этом случае я просто не могу даже дойти до стадии бенчмаркинга. В Apache слишком много важных функций, которые мне нужны (сертификаты клиента ssl, запуск серверов mongrel под fastcgi, django под wsgi, php gasp , статические файлы, обслуживаемые напрямую, ssl для каждого IP-адреса, десятки виртуальных хостов несколько IP-адресов и т. д.).

0 голосов
/ 23 июня 2012

Да, я мог бы порекомендовать вам использовать spawn for setup apache / wsgi.

Две причины в основном: 1) Использование памяти (вы сэкономите несколько мегабайт при порождении) 2) Динамическая перезагрузка кода (в любой момент ваш пользователь увидит страницу 404 или 500)

Это исходя из опыта, я запускаю http://tunesdiary.com на порождении + nginx в этой настройке:

nginx обрабатывает всю входящую нагрузку, которая затем подключается через прокси к прокси-серверу, который прослушивает непривилегированный порт (означает, что порождение запускается от имени другого пользователя, нежели веб-сервер) Нерест порождает 4 процесса с 2 потоками на процесс. (работает для текущей нагрузки).

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

До сих пор это работало очень хорошо (у меня это работает около 6 месяцев)

Что я заметил, django с модом wsgi + apache (который я использовал несколько дней назад) занимал около 70 МБ ОЗУ после начала работы (один процесс), и эта настройка использует 45 МБ на процесс или около того. Кроме того, у меня также было это с lighttpd + modfcgi, который также потребляет почти столько же памяти, сколько spwaning.

(возможно, я просчитался, потому что в apache также включено использование памяти веб-сервером)

Насколько я могу сказать, вы можете положиться на нерест, но если вы не будете часто толкать его, это будет бесполезно.

...