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
|
<?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><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Modules multi-processus (MPMs) - Serveur Apache HTTP Version 2.4</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/directives.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.4</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.4</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="Espaol"> es </a> |
<a href="./fr/mpm.html" title="Franais"> 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="Trke"> tr </a> |
<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </a></p>
</div>
<p>Ce document dcrit ce qu'est un Module Multi-Processus, ainsi
que la manire dont ces modules sont utiliss 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 dfaut</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 trs grande varit de
plateformes et toute une gamme d'environnements diffrents. Plateformes
diffrentes et environnements diffrents signifient souvent fonctionnalits
diffrentes, ou utilisation de diffrentes mthodes pour
implmenter la mme fonctionnalit le plus efficacement possible.
Apache httpd s'est toujours accomod d'une grande varit d'environnements
grce sa conception modulaire. Cette conception autorise le webmaster
choisir quelles fonctionnalits seront incluses
dans le serveur en slectionnant les modules charger soit la
compilation, soit l'excution.</p>
<p>Le serveur HTTP Apache 2.0 a tendu cette conception modulaire aux
fonctions les plus
lmentaires d'un serveur web. Le serveur est fourni avec une varit de
Modules Multi-Processus (MPMs) qui
sont responsables de l'association aux ports rseau de la machine,
acceptent les requtes, et se chargent de rpartir ces dernires
entre les diffrents 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
varit de systmes 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 fonctionnalits rseau
natives la place de la couche POSIX utilise par
Apache httpd 1.3. Cet avantage s'tend aussi aux systmes d'exploitation
qui implmentent des MPMs spcialiss.</li>
<li>le serveur est plus mme de rpondre aux besoins d'un site
particulier. Par exemple, les sites qui sont trs sollicits 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 privilgient 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 diffrents des
autres modules Apache httpd. La principale diffrence rside dans le fait qu'un
et un seul MPM la fois doit tre charg
lorsque le serveur s'excute. 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 dfaut</a></h2>
<p>La table suivante fournit la liste des MPMs par dfaut pour divers
systmes d'exploitation. Il s'agit du MPM qui sera utilis si
vous n'en spcifiez 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 possibilits 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 systmes d'exploitation de type
Unix, comme Linux, BSD, Solaris, Mac OS X, etc...</p></div>
<p>Dans le cas des systmes d'exploitation de type Unix, le choix du MPM
installer est orient par deux questions :</p>
<p>1. Est-ce que le systme supporte les threads ?</p>
<p>2. Est-ce que le systme supporte le polling thread-safe (et en
particulier les fonctions kqueue et epoll) ?</p>
<p>Si la rponse aux deux questions est 'oui', le MPM par dfaut sera
<code class="module"><a href="./mod/event.html">event</a></code>.</p>
<p>Si la rponse la premire question est 'oui', et la rponse la
deuxime 'non', le MPM par dfaut sera <code class="module"><a href="./mod/worker.html">worker</a></code>.</p>
<p>Si la rponse aux deux questions est 'non', le MPM par dfaut sera
<code class="module"><a href="./mod/prefork.html">prefork</a></code>.</p>
<p>En pratique, cela signifie que le MPM par dfaut sera presque
toujours <code class="module"><a href="./mod/event.html">event</a></code> car tous les systmes 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 compils 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 ncessaire si vous
souhaitez changer de module MPM.</p>
<p>Pour choisir un module MPM autre que le MPM par dfaut,
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 dsir.</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 compils
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 compils en tant que modules DSO et chargs
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> concerne, 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> empchera le
serveur de dmarrer 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 active 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 considre seront installs. Cet argument peut aussi
contenir une liste de modules MPM installer.</p>
<p>Le module MPM par dfaut, slectionn automatiquement ou spcifi
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 gnr. 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="Espaol"> es </a> |
<a href="./fr/mpm.html" title="Franais"> 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="Trke"> 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/2.4/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 2014 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/directives.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>
|