HTTP сервер Apache версии 2.0

Этот документ описывает, что такое мульти-процессные модули и как они используются в HTTP-сервере Apache.
HTTP-сервер Apache был разработан как мощный и гибкий веб-сервер, который может работать на самых разных платформах и в рамках различного окружения. Различные платформы и окружения часто требуют и различных возможностей или могут предоставлять различные пути реализации одной и той же возможности наиболее эффективно. Apache всегда мог работать в различных средах окружения за счёт своей модульной архитектуры, позволяющей вебмастеру выбрать всю необходимую функциональность, которая будет реализовываться сервером после компиляции, при помощи компилируемых или подключаемых модулей.
В Apache 2.0 модульная архитектура была расширена наиболее общими функциями веб-сервера. Теперь сервер поставляется с набором мульти-процессных модулей (МП-модулей), ответственных за соединение с сетевыми портами компьютера, за приём запросов и за координацию их обработки дочерними процессами.
Расширение модульной архитектуры до этого уровня даёт два важных преимущества:
mpm_winnt может использовать собственные
      сетевые функции Windows взамен сетевых функций уровня POSIX.
      Это касается и других операционных систем, для которых
      разработаны специальные МП-модули.worker, а для сайтов, требующих
      большей стабильности или совместимости со старым ПО, может
      быть использован prefork. Кроме того,
      также предоставляются специальные возможности, такие как
      обслуживание различных хостов процессамми с привилегиями
      различных пользователей (perchild).На уровне пользователя МП-модули почти не отличаются от всех остальных модулей Apache. Основное различие состоит в том, что с сервером может быть скомпилирован один и только один МП-модуль. Список доступных МП-модулей можно посмотреть в каталоге модулей.
МП-модуль должен быть выбран на этапе конфигурации, а затем скомпилирован вместе с сервером, чтобы стать его частью. Компиляторы способны оптимизировать многие функции при условии, что используются потоки, однако они должны знать еще на этапе компиляции, используются потоки или нет.
Чтобы подключить желаемый МП-модуль к Apache,
    используйте аргумент --with-mpm=MPM
    скрипта configure, где MPM -
    это название желаемого МП-модуля.
После того, как сервер скомпилирован, всегда можно
    определить, какой МП-модуль был выбран, используя команду
    ./httpd -l, которая выведет список 
    всех модулей, собранных вместе с сервером,
    в том числе и название МП-модуля.
Приведённая ниже таблица показывает, какие МП-модули подключены по умолчанию в различных операционных системах. В ней указан тот МП-модуль, который будет выбран, если вы на этапе компиляции явно не указали другой МП-модуль.
| BeOS | beos | 
| Netware | mpm_netware | 
| OS/2 | mpmt_os2 | 
| Unix | prefork | 
| Windows | mpm_winnt |