Httpd Multi-Processing Module Concepts: Difference between revisions
Line 29: | Line 29: | ||
<blockquote style="background-color: #f9f9f9; border: solid thin lightgrey;"> | <blockquote style="background-color: #f9f9f9; border: solid thin lightgrey;"> | ||
:[[httpd How to Find Out which MPM is Being Used| | :[[httpd How to Find Out which MPM is Being Used|How to Find Out which MPM is Being Used]] | ||
</blockquote> | </blockquote> | ||
=Compiling a Sever with a Specific MPM= | =Compiling a Sever with a Specific MPM= |
Revision as of 22:21, 1 January 2017
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.
worker
The worker MPM enables httpd to function as a hybrid multi-process/multi-threaded web server.
mpm_winnt
The default MPM for Windows.