<title>Modules multi-processus (MPMs) - Serveur Apache HTTP</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 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.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="./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.3</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>
+<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.3</a></div><div id="page-content"><div id="preamble"><h1>Modules multi-processus (MPMs)</h1>
+<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></p>
+<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="#choosing">Choisir un MPM</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#defaults">MPM par défaut</a></li>
-</ul></div>
+<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>Le serveur HTTP Apache a été conçu comme un serveur web puissant et
+ <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 s'est toujours accomodé d'une grande variété d'environnements
+ 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>Apache 2.0 étend cette conception modulaire aux fonctions les plus
- élémentaires d'un serveur web. Certains Modules Multi-Processus (MPMs)
+ <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>
+ comporte deux avantages importants :</p>
<ul>
- <li>Apache peut supporter plus proprement et efficacement une grande
+ <li>Apache httpd peut supporter plus proprement et efficacement une grande
variété de systèmes d'exploitation. En particulier, la version Windows
- d'Apache est maintenant beaucoup plus efficace, depuis que
+ 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 1.3. Cet avantage s'étend aussi aux systèmes d'exploitation
+ 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
</ul>
<p>Du point de vue de l'utilisateur, les MPMs ne sont pas différents des
- autres modules Apache. La principale différence réside dans le fait qu'un
- et un seul MPM à la fois doit être chargé dans le serveur. La liste des
- MPMs disponibles est fournie dans <a href="mod/">module index page</a>.</p>
+ 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="choosing" id="choosing">Choisir un MPM</a></h2>
+<h2><a name="static" id="static">Compiler un module MPM en tant que module
+statique</a></h2>
- <p>Les MPMs doivent être choisis à la configuration, et compilés avec
- le serveur. Les compilateurs peuvent optimiser de nombreuses fonctions
- si les threads sont utilisés, mais seulement s'ils savent que les threads
- sont utilisés.</p>
+ <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 le choix proprement dit du MPM désiré, utiliser l'argument
+ <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>
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="defaults" id="defaults">MPM par défaut</a></h2>
+<h2><a name="dynamic" id="dynamic">Compiler un module MPM en tant que module
+DSO (Dynamic Shared Object)</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 sélectionné si vous ne précisez
-pas un choix différent à la compilation.</p>
+ <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>
-<table>
+ <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>
-<tr><td>BeOS</td><td><code class="module"><a href="./mod/beos.html">beos</a></code></td></tr>
-<tr><td>Netware</td><td><code class="module"><a href="./mod/mpm_netware.html">mpm_netware</a></code></td></tr>
-<tr><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></td></tr>
-<tr><td>Windows</td><td><code class="module"><a href="./mod/mpm_winnt.html">mpm_winnt</a></code></td></tr>
-</table>
</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="./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></p>
-</div><div id="footer">
-<p class="apache">Copyright 2006 The Apache Software Foundation.<br />Authorisé 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="./faq/">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a></p></div>
+<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 2012 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>
\ No newline at end of file