Apache — предварительная обработка и рабочий

#python #django #apache #mod-wsgi

#python #django #apache #мод -wsgi

Вопрос:

Я пытаюсь создать веб-приложение Python с использованием Django. На официальной странице «как установить» указано, что должны быть установлены Apache и mod_wsgi.

Я вручную установил на своем компьютере с Ubuntu HTTP-сервер Apache 2.2.31 по адресу

/usr/local/apache

Я ищу инструкции по установке mod_wsgi из https://pypi.python.org/pypi/mod_wsgi

На этом сайте для «системных требований» указано, что необходимо установить apache prefork или worker mpm вместе с соответствующим вариантом разработчика.

После выполнения следующей команды,

/usr/local/apache/bin/apachectl -V

Я получаю много выходных данных, в одном из которых говорится, что сервер MPM является «предварительным».

Итак, я пришел к выводу, что MPM-серверы предварительно упакованы с помощью Apache.

Теперь мои вопросы

1) Как изменить сервер MPM с «Prefork» на «Worker»?

2) Поскольку я вручную установил Apache, как установить вариант разработчика сервера MPM? Если он уже установлен, как его проверить?

Ответ №1:

Вы беспокоитесь о двух вещах, о которых вам абсолютно не нужно беспокоиться.

Во-первых, на этой странице Django явно указано, что для начала разработки вам не нужно устанавливать какой-либо сервер. Предполагается, что вам понадобится mod_wsgi, когда вы приступите к развертыванию на своем производственном сервере, хотя далее указывается, что доступны другие варианты развертывания, такие как uwsgi (лично я предпочитаю gunicorn, но неважно). Честно говоря, эту страницу не помешало бы немного изменить формулировку, чтобы сделать это более понятным.

Во-вторых, на этой странице mod_wsgi говорится о его компиляции с нуля. Даже когда вы приступаете к развертыванию, в этом почти никогда нет необходимости. Поскольку вы используете Ubuntu, вы можете установить его с помощью aptitude:

 sudo apt-get install libapache2-mod-wsgi
  

Комментарии:

1. Не совсем верно, что никогда не нужно компилировать mod_wsgi с нуля. Проблема в том, что дистрибутивы Linux поставляют безнадежно устаревшие версии mod_wsgi. Похоже, что следующий Debian может, наконец, поставлять более свежую версию, но на данный момент они могут быть более чем 30 устаревшими версиями и старше минимальной рекомендуемой версии, эти старые версии определенно не поддерживаются.