1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Modules multi-processus (MPMs) - Serveur Apache HTTP Version 2.5</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<script src="./style/scripts/prettify.min.js" type="text/javascript">
</script>
<link href="./images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p>
<p class="apache">Serveur Apache HTTP Version 2.5</p>
<img alt="" src="./images/feather.gif" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Modules multi-processus (MPMs)</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./de/mpm.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/mpm.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./es/mpm.html" hreflang="es" rel="alternate" title="Espa�ol"> es </a> |
<a href="./fr/mpm.html" title="Fran�ais"> fr </a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </a> |
<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
<p>Ce document d�crit ce qu'est un Module Multi-Processus, ainsi
que la mani�re dont ces modules sont utilis�s par le serveur HTTP Apache.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#introduction">Introduction</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#defaults">MPM par d�faut</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#static">Compiler un module MPM en tant que module
statique</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#dynamic">Compiler un module MPM en tant que module
DSO (Dynamic Shared Object)</a></li>
</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="introduction" id="introduction">Introduction</a></h2>
<p>La conception du serveur HTTP Apache en fait un serveur web puissant et
flexible pouvant fonctionner sur une tr�s grande vari�t� de
plateformes et toute une gamme d'environnements diff�rents. Plateformes
diff�rentes et environnements diff�rents signifient souvent fonctionnalit�s
diff�rentes, ou utilisation de diff�rentes m�thodes pour
impl�menter la m�me fonctionnalit� le plus efficacement possible.
Apache httpd s'est toujours accomod� d'une grande vari�t� d'environnements
gr�ce � sa conception modulaire. Cette conception autorise le webmaster
� choisir quelles fonctionnalit�s seront incluses
dans le serveur en s�lectionnant les modules � charger soit � la
compilation, soit � l'ex�cution.</p>
<p>Le serveur HTTP Apache 2.0 a �tendu cette conception modulaire aux
fonctions les plus
�l�mentaires d'un serveur web. Le serveur est fourni avec une vari�t� de
Modules Multi-Processus (MPMs) qui
sont responsables de l'association aux ports r�seau de la machine,
acceptent les requ�tes, et se chargent de r�partir ces derni�res
entre les diff�rents processus enfants.</p>
<p>L'extension de la conception modulaire � ce niveau du serveur
comporte deux avantages importants :</p>
<ul>
<li>Apache httpd peut supporter plus proprement et efficacement une grande
vari�t� de syst�mes d'exploitation. En particulier, la version Windows
du serveur est maintenant beaucoup plus efficace, depuis que
<code class="module"><a href="./mod/mpm_winnt.html">mpm_winnt</a></code> peut utiliser les fonctionnalit�s r�seau
natives � la place de la couche POSIX utilis�e par
Apache httpd 1.3. Cet avantage s'�tend aussi aux syst�mes d'exploitation
qui impl�mentent des MPMs sp�cialis�s.</li>
<li>le serveur est plus � m�me de r�pondre aux besoins d'un site
particulier. Par exemple, les sites qui sont tr�s sollicit�s peuvent
utiliser un MPM thread� comme
<code class="module"><a href="./mod/worker.html">worker</a></code> ou <code class="module"><a href="./mod/event.html">event</a></code>, tandis que les sites
qui privil�gient la stabilit� ou la compatibilit� avec des logiciels
plus anciens peuvent utiliser un module comme
<code class="module"><a href="./mod/prefork.html">prefork</a></code>.</li>
</ul>
<p>Du point de vue de l'utilisateur, les MPMs ne sont pas diff�rents des
autres modules Apache httpd. La principale diff�rence r�side dans le fait qu'un
et un seul MPM � la fois doit �tre charg�
lorsque le serveur s'ex�cute. La liste des
MPMs disponibles est fournie dans <a href="mod/">l'index des
modules</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="defaults" id="defaults">MPM par d�faut</a></h2>
<p>La table suivante fournit la liste des MPMs par d�faut pour divers
syst�mes d'exploitation. Il s'agit du MPM qui sera utilis� si
vous n'en sp�cifiez pas un autre � la compilation.</p>
<table class="bordered"><tr><td>Netware</td><td><code class="module"><a href="./mod/mpm_netware.html">mpm_netware</a></code></td></tr>
<tr class="odd"><td>OS/2</td><td><code class="module"><a href="./mod/mpmt_os2.html">mpmt_os2</a></code></td></tr>
<tr><td>Unix</td><td><code class="module"><a href="./mod/prefork.html">prefork</a></code>, <code class="module"><a href="./mod/worker.html">worker</a></code>,
ou <code class="module"><a href="./mod/event.html">event</a></code>, selon les possibilit�s de la plate-forme</td></tr>
<tr class="odd"><td>Windows</td><td><code class="module"><a href="./mod/mpm_winnt.html">mpm_winnt</a></code></td></tr>
</table>
<div class="note"><p>Ici, 'Unix' sous-entend les syst�mes d'exploitation de type
Unix, comme Linux, BSD, Solaris, Mac OS X, etc...</p></div>
<p>Dans le cas des syst�mes d'exploitation de type Unix, le choix du MPM
� installer est orient� par deux questions :</p>
<p>1. Est-ce que le syst�me supporte les threads ?</p>
<p>2. Est-ce que le syst�me supporte le polling thread-safe (et en
particulier les fonctions kqueue et epoll) ?</p>
<p>Si la r�ponse aux deux questions est 'oui', le MPM par d�faut sera
<code class="module"><a href="./mod/event.html">event</a></code>.</p>
<p>Si la r�ponse � la premi�re question est 'oui', et la r�ponse � la
deuxi�me 'non', le MPM par d�faut sera <code class="module"><a href="./mod/worker.html">worker</a></code>.</p>
<p>Si la r�ponse aux deux questions est 'non', le MPM par d�faut sera
<code class="module"><a href="./mod/prefork.html">prefork</a></code>.</p>
<p>En pratique, cela signifie que le MPM par d�faut sera presque
toujours <code class="module"><a href="./mod/event.html">event</a></code> car tous les syst�mes d'exploitation
modernes satisfont aux deux conditions.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="static" id="static">Compiler un module MPM en tant que module
statique</a></h2>
<p>Les modules MPM peuvent �tre compil�s en tant que modules
statiques sur toutes les plates-formes. A la compilation d'Apache, un
seul module MPM doit �tre choisi pour �tre compil� et li� avec le
serveur. La recompilation du serveur sera donc n�cessaire si vous
souhaitez changer de module MPM.</p>
<p>Pour choisir un module MPM autre que le MPM par d�faut,
utiliser l'argument
<code>--with-mpm=<em>NOM</em></code> du script
<code class="program"><a href="./programs/configure.html">configure</a></code>. <em>NOM</em> est le nom
du MPM d�sir�.</p>
<p>Une fois le serveur compil�, il est possible de savoir quel MPM
a �t� choisi � l'aide de la commande <code>./httpd -l</code>.
Cette commande fournit la liste de tous les modules compil�s
avec le serveur, y compris le MPM.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="dynamic" id="dynamic">Compiler un module MPM en tant que module
DSO (Dynamic Shared Object)</a></h2>
<p>Sous Unix et les plates-formes similaires, les modules MPM
peuvent �tre compil�s en tant que modules DSO et charg�s
dynamiquement dans le serveur comme tout module DSO. Compiler les
modules MPM en tant que modules DSO permet de changer de MPM en
modifiant la directive <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> concern�e, sans avoir �
recompiler le serveur.</p>
<pre class="prettyprint lang-config">LoadModule mpm_prefork_module modules/mod_mpm_prefork.so</pre>
<p>Toute tentative de charger plusieurs modules MPM via la directive
<code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> emp�chera le
serveur de d�marrer et affichera l'erreur suivante :</p>
<div class="example"><p><code>AH00534: httpd: Configuration error: More than one MPM
loaded.</code></p></div>
<p>Cette fonctionnalit� est activ�e via l'option
<code>--enable-mpms-shared</code> du script
<code class="program"><a href="./programs/configure.html">configure</a></code>. Si on ajoute l'argument
<code><em>all</em></code>, tous les modules MPM disponibles sur la
plate-forme consid�r�e seront install�s. Cet argument peut aussi
contenir une liste de modules MPM � installer.</p>
<p>Le module MPM par d�faut, s�lectionn� automatiquement ou sp�cifi�
via l'option <code>--with-mpm</code> du script
<code class="program"><a href="./programs/configure.html">configure</a></code>, sera charg� via une directive
<code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> du fichier de
configuration du serveur g�n�r�. Pour choisir un autre module MPM,
vous devrez donc modifier cette directive</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./de/mpm.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
<a href="./en/mpm.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./es/mpm.html" hreflang="es" rel="alternate" title="Espa�ol"> es </a> |
<a href="./fr/mpm.html" title="Fran�ais"> fr </a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </a> |
<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/trunk/mpm.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2015 The Apache Software Foundation.<br />Autoris� sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>
|