Files
apache_httpd/docs/manual/mpm.html.fr
2018-01-04 15:34:05 +00:00

227 lines
14 KiB
Plaintext
Raw Permalink Blame History

<?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.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.png" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <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">&nbsp;de&nbsp;</a> |
<a href="./en/mpm.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/mpm.html" hreflang="es" rel="alternate" title="Espa<70>ol">&nbsp;es&nbsp;</a> |
<a href="./fr/mpm.html" title="Fran<61>ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="T<>rk<72>e">&nbsp;tr&nbsp;</a> |
<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
</div>
<p>Ce document d<>crit ce qu'est un Module Multi-Processus, ainsi
que la mani<6E>re dont ces modules sont utilis<69>s par le serveur HTTP Apache.</p>
</div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><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><h3>Voir aussi</h3><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<74>s grande vari<72>t<EFBFBD> de
plateformes et toute une gamme d'environnements diff<66>rents. Plateformes
diff<66>rentes et environnements diff<66>rents signifient souvent fonctionnalit<69>s
diff<66>rentes, ou utilisation de diff<66>rentes m<>thodes pour
impl<70>menter la m<>me fonctionnalit<69> le plus efficacement possible.
Apache httpd s'est toujours accomod<6F> d'une grande vari<72>t<EFBFBD> d'environnements
gr<67>ce <20> sa conception modulaire. Cette conception autorise le webmaster
<20> choisir quelles fonctionnalit<69>s seront incluses
dans le serveur en s<>lectionnant les modules <20> charger soit <20> la
compilation, soit <20> l'ex<65>cution.</p>
<p>Le serveur HTTP Apache 2.0 a <20>tendu cette conception modulaire aux
fonctions les plus
<20>l<EFBFBD>mentaires d'un serveur web. Le serveur est fourni avec une vari<72>t<EFBFBD> de
Modules Multi-Processus (MPMs) qui
sont responsables de l'association aux ports r<>seau de la machine,
acceptent les requ<71>tes, et se chargent de r<>partir ces derni<6E>res
entre les diff<66>rents processus enfants.</p>
<p>L'extension de la conception modulaire <20> ce niveau du serveur
comporte deux avantages importants :</p>
<ul>
<li>Apache httpd peut supporter plus proprement et efficacement une grande
vari<72>t<EFBFBD> de syst<73>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<69>s r<>seau
natives <20> la place de la couche POSIX utilis<69>e par
Apache httpd 1.3. Cet avantage s'<27>tend aussi aux syst<73>mes d'exploitation
qui impl<70>mentent des MPMs sp<73>cialis<69>s.</li>
<li>le serveur est plus <20> m<>me de r<>pondre aux besoins d'un site
particulier. Par exemple, les sites qui sont tr<74>s sollicit<69>s peuvent
utiliser un MPM thread<61> 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<69>gient la stabilit<69> ou la compatibilit<69> 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<66>rents des
autres modules Apache httpd. La principale diff<66>rence r<>side dans le fait qu'un
et un seul MPM <20> la fois doit <20>tre charg<72>
lorsque le serveur s'ex<65>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<EFBFBD>mes d'exploitation. Il s'agit du MPM qui sera utilis<69> si
vous n'en sp<73>cifiez pas un autre <20> 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<69>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<73>mes d'exploitation de type
Unix, comme Linux, BSD, Solaris, Mac OS X, etc...</p></div>
<p>Dans le cas des syst<73>mes d'exploitation de type Unix, le choix du MPM
<EFBFBD> installer est orient<6E> par deux questions :</p>
<p>1. Est-ce que le syst<73>me supporte les threads ?</p>
<p>2. Est-ce que le syst<73>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 <20> la premi<6D>re question est 'oui', et la r<>ponse <20> la
deuxi<EFBFBD>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<73>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 <20>tre compil<69>s en tant que modules
statiques sur toutes les plates-formes. A la compilation d'Apache, un
seul module MPM doit <20>tre choisi pour <20>tre compil<69> et li<6C> 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<69>.</p>
<p>Une fois le serveur compil<69>, il est possible de savoir quel MPM
a <20>t<EFBFBD> choisi <20> l'aide de la commande <code>./httpd -l</code>.
Cette commande fournit la liste de tous les modules compil<69>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 <20>tre compil<69>s en tant que modules DSO et charg<72>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<72>e, sans avoir <20>
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<6D>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<69> est activ<69>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<69>r<EFBFBD>e seront install<6C>s. Cet argument peut aussi
contenir une liste de modules MPM <20> installer.</p>
<p>Le module MPM par d<>faut, s<>lectionn<6E> automatiquement ou sp<73>cifi<66>
via l'option <code>--with-mpm</code> du script
<code class="program"><a href="./programs/configure.html">configure</a></code>, sera charg<72> via une directive
<code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> du fichier de
configuration du serveur g<>n<EFBFBD>r<EFBFBD>. 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">&nbsp;de&nbsp;</a> |
<a href="./en/mpm.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/mpm.html" hreflang="es" rel="alternate" title="Espa<70>ol">&nbsp;es&nbsp;</a> |
<a href="./fr/mpm.html" title="Fran<61>ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/mpm.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/mpm.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/mpm.html" hreflang="tr" rel="alternate" title="T<>rk<72>e">&nbsp;tr&nbsp;</a> |
<a href="./zh-cn/mpm.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</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&amp;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 2018 The Apache Software Foundation.<br />Autoris<69> 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>