Httpd Multi-Processing Module Concepts

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

Internal

Overview

The Multi-Processing Module (MPM) is a fundamental component of the server that is responsible for binding to network ports, accepting requests and dispatching children to handle requests. From a user's perspective, an MPM appears much like other Apache module, with the main difference that one and only one MPM must be loaded into the server at any time. The MPM must be chosen during compilation configuration and compiled into the server with the --with-mpm=NAME directive. The available MPMs are: prefork, worker, mpm_winnt, event, beds, mpm_netware, mpmt_os2:

MPMs

prefork

"prefork" is the default MPM for Unix. It determines httpd to function as a non-threaded web server, where each request is handled by a separated OS-level process. More details about prefork MPM:

prefork MPM

worker

The worker MPM enables httpd to function as a hybrid multi-process/multi-threaded web server. More details about the worker MPM:

worker MPM

mpm_winnt

The default MPM for Windows.

How to Find Out which MPM is Being Used

How to Find Out which MPM is Being Used

Compiling a Sever with a Specific MPM

woker MPM compilation