home *** CD-ROM | disk | FTP | other *** search
/ Cricao de Sites - 650 Layouts Prontos / WebMasters.iso / Servidores / apache_2.2.8-win32-x86-no_ssl.msi / Data1.cab / _99D37DE0A704C99597E3297BDB8E63EC < prev    next >
Extensible Markup Language  |  2007-09-02  |  18KB  |  275 lines

  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
  4.         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  5.               This file is generated from xml source: DO NOT EDIT
  6.         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  7.       -->
  8. <title>ArrΩt et redΘmarrage - Serveur Apache HTTP</title>
  9. <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
  10. <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
  11. <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
  12. <link href="./images/favicon.ico" rel="shortcut icon" /></head>
  13. <body id="manual-page"><div id="page-header">
  14. <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>
  15. <p class="apache">Serveur Apache HTTP Version 2.2</p>
  16. <img alt="" src="./images/feather.gif" /></div>
  17. <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
  18. <div id="path">
  19. <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.2</a></div><div id="page-content"><div id="preamble"><h1>ArrΩt et redΘmarrage</h1>
  20. <div class="toplang">
  21. <p><span>Langues Disponibles: </span><a href="./de/stopping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
  22. <a href="./en/stopping.html" hreflang="en" rel="alternate" title="English"> en </a> |
  23. <a href="./es/stopping.html" hreflang="es" rel="alternate" title="Espa±ol"> es </a> |
  24. <a href="./fr/stopping.html" title="Franτais"> fr </a> |
  25. <a href="./ja/stopping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
  26. <a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
  27. </div>
  28.  
  29.     <p>Ce document couvre l'arrΩt et le redΘmarrage d'Apache sur
  30.     les systΦmes Unix et similaires. Les utilisateurs de Windows NT, 2000
  31.     and XP doivent consulter
  32.     <a href="platform/windows.html#winsvc">ExΘcuter Apache en tant que
  33.     service</a> et les utilisateurs de Windows 9x et ME doivent consulter
  34.     <a href="platform/windows.html#wincons">ExΘcuter Apache comme une
  35.     application de type console</a> pour plus d'informations sur le contr⌠le
  36.     d'Apache α partir de ces plateformes.</p>
  37. </div>
  38. <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#introduction">Introduction</a></li>
  39. <li><img alt="" src="./images/down.gif" /> <a href="#term">ArrΩter immΘdiatement</a></li>
  40. <li><img alt="" src="./images/down.gif" /> <a href="#graceful">RedΘmarrage en douceur</a></li>
  41. <li><img alt="" src="./images/down.gif" /> <a href="#hup">RedΘmarrer immΘdiatement</a></li>
  42. <li><img alt="" src="./images/down.gif" /> <a href="#gracefulstop">ArrΩt en douceur</a></li>
  43. </ul><h3>Voir aussi</h3><ul class="seealso"><li><code class="program"><a href="./programs/httpd.html">httpd</a></code></li><li><code class="program"><a href="./programs/apachectl.html">apachectl</a></code></li><li><a href="invoking.html">DΘmarrage</a></li></ul></div>
  44. <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
  45. <div class="section">
  46. <h2><a name="introduction" id="introduction">Introduction</a></h2>
  47.  
  48.     <p>Afin d'arrΩter ou redΘmarrer Apache, vous devez envoyer un signal aux
  49.     processus <code class="program"><a href="./programs/httpd.html">httpd</a></code> en cours d'exΘcution.  Les signaux
  50.     peuvent Ωtre envoyΘs de deux maniΦres.  Tout d'abord, vous pouvez
  51.     utiliser la commande unix <code>kill</code>
  52.     pour envoyer directement des signaux aux processus. Vous pouvez remarquer
  53.     que plusieurs processus <code class="program"><a href="./programs/httpd.html">httpd</a></code> s'exΘcutent sur votre
  54.     systΦme, mais il vous suffit d'envoyer les signaux au processus parent,
  55.     dont le PID est enregistrΘ dans le fichier prΘcisΘ par la directive
  56.     <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code>. C'est α dire que vous
  57.     n'aurez jamais besoin d'envoyer des signaux α aucun de ces processus,
  58.     sauf au processus parent. Trois types de signaux peuvent Ωtre envoyΘs
  59.     au processus parent :
  60.     <code><a href="#term">TERM</a></code>,
  61.     <code><a href="#graceful">USR1</a></code>,
  62.     <code><a href="#hup">HUP</a></code>, et
  63.     <code><a href="#gracefulstop">WINCH</a></code>, qui
  64.     sera dΘcrit plus loin.</p>
  65.  
  66.     <p>Pour envoyer un signal au processus parent, vous devez entrer une commande
  67.     du style :</p>
  68.  
  69. <div class="example"><p><code>kill -TERM `cat /usr/local/apache2/logs/httpd.pid`</code></p></div>
  70.  
  71.     <p>La seconde mΘthode permettant d'envoyer des signaux aux processus
  72.     <code class="program"><a href="./programs/httpd.html">httpd</a></code>
  73.     consiste α utiliser les options de ligne de commande <code>-k</code> :
  74.     <code>stop</code>,
  75.     <code>restart</code>, <code>graceful</code> et <code>graceful-stop</code>,
  76.     comme dΘcrit ci-dessous.  Ce sont des arguments du binaire
  77.     <code class="program"><a href="./programs/httpd.html">httpd</a></code>, mais il est recommandΘ de les utiliser
  78.     avec le script de contr⌠le <code class="program"><a href="./programs/apachectl.html">apachectl</a></code>, qui se
  79.     chargera de les passer α <code class="program"><a href="./programs/httpd.html">httpd</a></code>.</p>
  80.  
  81.     <p>AprΦs avoir envoyΘ un signal α <code class="program"><a href="./programs/httpd.html">httpd</a></code>, vous pouvez
  82.     suivre le cours de son action en entrant :</p>
  83.  
  84. <div class="example"><p><code>tail -f /usr/local/apache2/logs/error_log</code></p></div>
  85.  
  86.     <p>Adaptez ces exemples en fonction de la dΘfinition de vos directives
  87.     <code class="directive"><a href="./mod/core.html#serverroot">ServerRoot</a></code> et
  88.     <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code>.</p>
  89. </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
  90. <div class="section">
  91. <h2><a name="term" id="term">ArrΩter immΘdiatement</a></h2>
  92.  
  93. <dl><dt>Signal: TERM</dt>
  94. <dd><code>apachectl -k stop</code></dd>
  95. </dl>
  96.  
  97.     <p>L'envoi du signal <code>TERM</code> ou <code>stop</code> au
  98.     processus parent induit chez celui-ci une tentative immΘdiate
  99.     de tuer tous ses processus enfants. Cela peut durer plusieurs secondes.
  100.     AprΦs cela, le processus parent lui-mΩme se termine. Toutes les requΩtes
  101.     en cours sont terminΘes, et plus aucune autre n'est traitΘe.</p>
  102. </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
  103. <div class="section">
  104. <h2><a name="graceful" id="graceful">RedΘmarrage en douceur</a></h2>
  105.  
  106. <dl><dt>Signal: USR1</dt>
  107. <dd><code>apachectl -k graceful</code></dd>
  108. </dl>
  109.  
  110.     <p>L'envoi du signal <code>USR1</code> ou <code>graceful</code> au
  111.     processus parent lui fait envoyer aux processus enfants
  112.     <em>l'ordre</em> de se terminer une fois leur requΩte courante
  113.     traitΘe (ou de se terminer immΘdiatement s'ils n'ont plus rien α traiter).
  114.     Le processus parent relit ses fichiers de configuration et
  115.     rΘouvre ses fichiers de log. Chaque fois qu'un enfant s'Θteint, le
  116.     processus parent le remplace par un processus
  117.     enfant de la nouvelle <em>gΘnΘration</em> de la
  118.     configuration, et celui-ci commence immΘdiatement α traiter les
  119.     nouvelles requΩtes.</p>
  120.  
  121.     <p>Ce code est conτu pour toujours respecter la directive de contr⌠le
  122.     de processus des modules MPMs, afin que les nombres de processus et de
  123.     threads
  124.     disponibles pour traiter les demandes des clients soient maintenus α
  125.     des valeurs appropriΘes tout au long du processus de dΘmarrage.
  126.     En outre, il respecte la directive
  127.     <code class="directive"><a href="./mod/mpm_common.html#startservers">StartServers</a></code> de la maniΦre
  128.     suivante : si aprΦs une seconde au moins <code class="directive"><a href="./mod/mpm_common.html#startservers">StartServers</a></code> nouveaux processus
  129.     enfants n'ont pas ΘtΘ crΘΘs, un nombre suffisant de processus
  130.     supplΘmentaires est crΘΘ pour combler le manque. Ainsi le code
  131.     tente de maintenir α la fois le nombre appropriΘ de processus enfants
  132.     en fonction de la charge du serveur, et vos souhaits dΘfinis par la
  133.     directive <code class="directive"><a href="./mod/mpm_common.html#startservers">StartServers</a></code>.</p>
  134.  
  135.     <p>Les utilisateurs du module <code class="module"><a href="./mod/mod_status.html">mod_status</a></code>
  136.     noteront que les statistiques du serveur ne sont <strong>pas</strong>
  137.     remises α zΘro quand un signal <code>USR1</code> est envoyΘ. Le code
  138.     a ΘtΘ conτu α la fois pour minimiser la durΘe durant laquelle le
  139.     serveur ne peut pas traiter de nouvelles requΩtes (elle sont mises en
  140.     file d'attente par le systΦme d'exploitation, et ne sont ainsi jamais
  141.     perdues) et pour respecter vos paramΦtres de personnalisation.
  142.     Afin d'accomplir ceci, il doit conserver le
  143.     <em>tableau</em> utilisΘ pour garder la trace de tous les processus
  144.     enfants au cours des diffΘrentes gΘnΘrations.</p>
  145.  
  146.     <p>Le module status utilise aussi un <code>G</code> afin d'indiquer
  147.     quels processus enfants ont encore des traitements de requΩtes en cours
  148.     dΘbutΘs avant que l'ordre graceful restart ne soit donnΘ.</p>
  149.  
  150.     <p>Pour l'instant, il est impossible pour un script de rotation
  151.     des logs utilisant
  152.     <code>USR1</code> de savoir de maniΦre certaine si tous les processus
  153.     enfants inscrivant des traces de prΘ-redΘmarrage sont terminΘs.
  154.     Nous vous suggΘrons d'attendre un dΘlai suffisant aprΦs l'envoi du
  155.     signal <code>USR1</code>
  156.     avant de faire quoi que ce soit avec les anciens logs. Par exemple,
  157.     si la plupart de vos traitements durent moins de 10 minutes pour des
  158.     utilisateurs empruntant des liaisons α faible bande passante, alors vous
  159.     devriez attendre 15 minutes avant de faire quoi que ce soit
  160.     avec les anciens logs.</p>
  161.  
  162.     <div class="note">
  163.     Si votre fichier de configuration comporte des erreurs lorsque vous
  164.     effectuez un redΘmarrage, votre processus parent ne redΘmarrera pas
  165.     et se terminera avec une erreur. Dans le cas d'un redΘmarrage en douceur
  166.     (graceful restart), il laissera les processus enfants
  167.     s'exΘcuter quand il s'arrΩtera. (Ce sont les processus enfants qui
  168.     "s'arrΩtent en douceur" en terminant de traiter leur derniΦre requΩte.)
  169.     Ceci provoquera des problΦmes si vous tentez de redΘmarrer le serveur
  170.     -- il ne pourra pas s'associer α ses ports d'Θcoute. Avant d'effectuer un
  171.     redΘmarrage, vous pouvez vΘrifier la syntaxe des fichiers de
  172.     configuration α l'aide de l'argument de ligne de commande <code>-t</code>
  173.     (voir <code class="program"><a href="./programs/httpd.html">httpd</a></code>).
  174.  
  175.     Ceci ne garantit pas encore que le serveur va redΘmarrer
  176.     correctement. Pour vΘrifier la sΘmantique des fichiers de configuration
  177.     en plus de leur syntaxe, vous pouvez essayer de dΘmarrer
  178.     <code class="program"><a href="./programs/httpd.html">httpd</a></code> sous un utilisateur non root.
  179.     S'il n'y a pas d'erreurs, il tentera d'ouvrir ses sockets et ses fichiers
  180.     de log et Θchouera car il n'a pas les privilΦges root (ou parce que
  181.     l'instance actuelle de
  182.     <code class="program"><a href="./programs/httpd.html">httpd</a></code> est dΘjα associΘe α ces ports). S'il Θchoue
  183.     pour toute autre raison, il y a probablement une erreur dans le
  184.     fichier de configuration et celle-ci doit Ωtre corrigΘe avant de lancer
  185.     le redΘmarrage en douceur.</div>
  186. </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
  187. <div class="section">
  188. <h2><a name="hup" id="hup">RedΘmarrer immΘdiatement</a></h2>
  189.  
  190. <dl><dt>Signal: HUP</dt>
  191. <dd><code>apachectl -k restart</code></dd>
  192. </dl>
  193.  
  194.     <p>L'envoi du signal <code>HUP</code> ou <code>restart</code> au
  195.     processus parent lui fait tuer ses processus enfants comme pour le signal
  196.     <code>TERM</code>, mais le processus parent ne se termine pas.
  197.     Il relit ses fichiers de configuration, et rΘouvre ses fichiers de log.
  198.     Puis il donne naissance α un nouveau jeu de processus enfants
  199.     et continue de traiter les requΩtes.</p>
  200.  
  201.     <p>Les utilisateurs du module <code class="module"><a href="./mod/mod_status.html">mod_status</a></code>
  202.     noteront que les statistiques du serveur sont remises α zΘro quand un
  203.     signal <code>HUP</code> est envoyΘ.</p>
  204.  
  205. <div class="note">Si votre fichier de configuration comporte des erreurs quand vous
  206. effectuez un redΘmarrage, votre processus parent ne redΘmarrera pas,
  207. il se terminera avec une erreur. Voir plus haut la mΘthode α employer
  208. pour Θviter ce problΦme.</div>
  209. </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
  210. <div class="section">
  211. <h2><a name="gracefulstop" id="gracefulstop">ArrΩt en douceur</a></h2>
  212.  
  213. <dl><dt>Signal : WINCH</dt>
  214. <dd><code>apachectl -k graceful-stop</code></dd>
  215. </dl>
  216.  
  217.     <p>L'envoi du signal <code>WINCH</code> ou <code>graceful-stop</code>
  218.     au processus parent lui fait <em>aviser</em> les processus enfants
  219.     de s'arrΩter aprΦs le traitement de leur requΩte en cours
  220.     (ou de s'arrΩter immΘdiatement s'ils n'ont plus de requΩte α traiter).
  221.     Le processus parent va alors supprimer son fichier
  222.     <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code> et cesser l'Θcoute
  223.     de tous ses ports. Le processus parent va continuer α s'exΘcuter,
  224.     et va surveiller les processus enfants
  225.     qui ont encore des requΩtes α traiter. Lorsque tous les processus enfants
  226.     ont terminΘ leurs traitements et se sont arrΩtΘs ou lorsque le dΘlai
  227.     spΘcifiΘ par la directive <code class="directive"><a href="./mod/mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></code> a ΘtΘ atteint,
  228.     le processus parent s'arrΩtera α son tour.  Si ce dΘlai est atteint,
  229.     tout processus enfant encore en cours d'exΘcution se verra envoyer
  230.     le signal <code>TERM</code>
  231.     afin de le forcer α s'arrΩter.</p>
  232.  
  233.     <p>L'envoi du signal <code>TERM</code> va arrΩter immΘdiatement
  234.     les processus parent et enfants en Θtat "graceful". Cependant,
  235.     comme le fichier <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code>
  236.     aura ΘtΘ supprimΘ, vous ne pourrez pas utiliser
  237.     <code>apachectl</code> ou <code>httpd</code> pour envoyer ce signal.</p>
  238.  
  239.     <div class="note"><p>Le signal <code>graceful-stop</code> vous permet d'exΘcuter
  240.     simultanΘment plusieurs instances de <code class="program"><a href="./programs/httpd.html">httpd</a></code>
  241.     avec des configurations identiques. Ceci s'avΦre une fonctionnalitΘ
  242.     puissante quand vous effectuez des mises α jour "en douceur" d'Apache;
  243.     cependant, cela peut aussi causer des blocages fatals et des
  244.     situations de compΘtition (race conditions)
  245.     avec certaines configurations.</p>
  246.  
  247.     <p>On a pris soin de s'assurer que les fichiers sur disque
  248.     comme ceux dΘfinis par les directives
  249.     <code class="directive"><a href="./mod/core.html#lockfile">Lockfile</a></code> et
  250.     <code class="directive"><a href="./mod/mod_cgid.html#scriptsock">ScriptSock</a></code> contiennent le PID
  251.     du serveur dans leurs noms donc ils coexistent sans problΦme.
  252.     Cependant, si une directive de
  253.     configuration , un module tiers ou une CGI rΘsidente utilise un autre
  254.     verrou ou fichier d'Θtat sur disque, il faut prendre soin de s'assurer
  255.     que chaque instance de <code class="program"><a href="./programs/httpd.html">httpd</a></code> qui s'exΘcute
  256.     n'Θcrase pas les fichiers des autres instances.</p>
  257.  
  258.     <p>Vous devez aussi prendre garde aux autres situations de compΘtition,
  259.     comme l'utilisation de l'enregistrement des logs avec un transfert de ceux-ci
  260.     dans le style <code class="program"><a href="./programs/rotation des logs.html">rotation des logs</a></code>. Plusieurs instances
  261.     du programme de <code class="program"><a href="./programs/rotation des logs.html">rotation des logs</a></code> qui tentent d'effectuer
  262.     une rotation des mΩmes fichiers de log en mΩme temps peuvent dΘtruire
  263.     mutuellement leurs propres fichiers de log.</p></div>
  264. </div></div>
  265. <div class="bottomlang">
  266. <p><span>Langues Disponibles: </span><a href="./de/stopping.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> |
  267. <a href="./en/stopping.html" hreflang="en" rel="alternate" title="English"> en </a> |
  268. <a href="./es/stopping.html" hreflang="es" rel="alternate" title="Espa±ol"> es </a> |
  269. <a href="./fr/stopping.html" title="Franτais"> fr </a> |
  270. <a href="./ja/stopping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
  271. <a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
  272. </div><div id="footer">
  273. <p class="apache">Copyright 2007 The Apache Software Foundation.<br />AuthorisΘ sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
  274. <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>
  275. </body></html>