Назад | Перейти на главную страницу

Какой пакет Apache лучше всего подходит для приложения mod_wsgi Django?

В Ubuntu (и Debian, и другом дистрибутиве) есть несколько пакетов Apache (mpm-event, mpm-prefork, mpm-worker). Что лучше всего подходит для размещения приложения Django mod_wsgi на однопроцессорном сервере? Какой пакет лучше всего подходит для контейнера OpenVZ?

Если вы используете режим демона mod_wsgi, не имеет значения, какой Apache MPM вы используете, хотя предлагается использовать MPM для рабочих систем UNIX, если только вы не застряли с необходимостью также размещать приложения PHP с использованием mod_php, поскольку некоторые расширения PHP не являются потокобезопасными .

Предложение о том, что вам нужен рабочий MPM для использования режима демона mod_wsgi, неверно. Важно то, построена ли базовая библиотека времени выполнения Apache (APR) с возможностью потоковой передачи. Обычно так бывает, даже если в Apache используется предварительная версия MPM. Единственные системы, в которых нет встроенных в APR возможностей многопоточности, - это старые системы на основе BSD, в которых многопоточность была немного нарушена.

Рабочий MPM будет вашим лучшим выбором. Это совместим с mod_wsgi. Событийный MPM может дать более высокую производительность, но он используется гораздо реже, и любое улучшение производительности минимально, поэтому я не рекомендую его. Рабочий MPM обрабатывает каждый запрос в отдельном потоке, что делает его гораздо более подходящим для использования на VPS, чем традиционная модель prefork, которая использует целый процесс для каждого соединения.

Рабочий необходим, если вы используете mod-wsgi в режиме демона (который я предпочитаю, так как на моем сервере apache работают другие сайты).

Если вы используете mod-wsgi во встроенном режиме, все в порядке.

Это в документах: http://code.google.com/p/modwsgi/