Sunday, 31 October 2010

Переключение Apache на Debian 5 Lenny в режим worker MPM

Итак, имеем Апача, работающего в режиме prefork с подключенным php5 как модулем Апача. Вариант миграции на Apache MPM worker только один - отказываться от php5 как модуля Апача и переходить на php5 как FastCGI (посредством mod_fcgid). Я рассмотрю лишь подключение Apache Worker, с mod_fcgid Вам придется разобраться самостоятельно.

Итак, имеем следующую конфигурацию Апача:
dpkg -l | grep prefork
ii apache2-mpm-prefork 2.2.9-10+lenny8 Apache HTTP Server - traditional non-threaded model

Итак, пробуем ставить Apache worker:
apt-get install apache2-mpm-worker

В ответ APT выдаст предупреждение о том, что в связи с конфликтом нужно удалить следующие пакеты: apache2-mpm-prefork и libapache2-mod-php5. Соглашаемся с этим. После этого APT сделает попытку перезапустить Апача, но, скорее всего, ему это не удастся, так как все было настроено для php5 как модуля Апача и в конфигурации много директив php_admin_value, которые уже некем обрабатывать (модуль-то Апача мы стерли):
Syntax error on line 7 of /etc/apache2/conf.d/phpmyadmin.conf:
Invalid command 'php_admin_value', perhaps misspelled or defined by a module not included in the server configuration
failed!

Удаляем эти конфиги / директивы и повторяем попытку перезапуска Апача:
/etc/init.d/apache2 restart

Все, после этого все должно заработать как нужно :)

Убеждаемся, что мы работаем на Worker MPM:
apache2ctl -M 2>&1| grep mpm
mpm_worker_module (static)

4 comments:

  1. Fix

    1 ) apt-get install libapache2-mod-ruby

    2) apt-get install libapache2-mod-perl2

    3) apt-get install libapache2-mod-python

    4) apt-get install apache2-mpm-itk

    /etc/init.d/apache2 restart

    ReplyDelete
  2. И лишаемся PHP? А потом компилируем php с опцией мультипоточности?

    ReplyDelete
  3. php-fpm нужно устанавливать дополнительно?

    ReplyDelete

Note: only a member of this blog may post a comment.