summaryrefslogtreecommitdiffstats
path: root/docs/manual/stopping.html.fr
blob: 45544df7f3d0d1b115ce266a8eb767a552f1083d (plain)
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
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
<?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>Arr�t et red�marrage du serveur HTTP Apache - 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="&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.5</a></div><div id="page-content"><div id="preamble"><h1>Arr�t et red�marrage du serveur HTTP Apache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./de/stopping.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="./en/stopping.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/stopping.html" hreflang="es" rel="alternate" title="Espa�ol">&nbsp;es&nbsp;</a> |
<a href="./fr/stopping.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/stopping.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/stopping.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
</div>

    <p>Ce document couvre l'arr�t et le red�marrage du
    serveur HTTP Apache sur
    les syst�mes Unix et similaires. Les utilisateurs de Windows NT, 2000
    and XP doivent consulter
    <a href="platform/windows.html#winsvc">Ex�cuter httpd en tant que
    service</a> et les utilisateurs de Windows 9x et ME doivent consulter
    <a href="platform/windows.html#wincons">Ex�cuter httpd comme une
    application de type console</a> pour plus d'informations sur le contr�le
    de httpd � partir de ces plateformes.</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="#term">Arr�ter imm�diatement</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#graceful">Red�marrage en douceur</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#hup">Red�marrer imm�diatement</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#gracefulstop">Arr�t en douceur</a></li>
</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><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>Afin d'arr�ter ou red�marrer le serveur HTTP Apache, vous devez envoyer un signal aux
    processus <code class="program"><a href="./programs/httpd.html">httpd</a></code> en cours d'ex�cution.  Les signaux
    peuvent �tre envoy�s de deux mani�res.  Tout d'abord, vous pouvez
    utiliser la commande unix <code>kill</code>
    pour envoyer directement des signaux aux processus. Vous pouvez remarquer
    que plusieurs processus <code class="program"><a href="./programs/httpd.html">httpd</a></code> s'ex�cutent sur votre
    syst�me, mais il vous suffit d'envoyer les signaux au processus parent,
    dont le PID est enregistr� dans le fichier pr�cis� par la directive
    <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code>. Autrement dit, vous
    n'aurez jamais besoin d'envoyer des signaux � aucun des
    processus enfants, mais seulement au processus parent. Trois types
    de signaux peuvent �tre envoy�s au processus parent :
    <code><a href="#term">TERM</a></code>,
    <code><a href="#graceful">USR1</a></code>,
    <code><a href="#hup">HUP</a></code>, et
    <code><a href="#gracefulstop">WINCH</a></code>, qui
    sera d�crit plus loin.</p>

    <p>Pour envoyer un signal au processus parent, vous devez entrer une commande
    du style :</p>

<div class="example"><p><code>kill -TERM `cat /usr/local/apache2/logs/httpd.pid`</code></p></div>

    <p>La seconde m�thode permettant d'envoyer des signaux aux processus
    <code class="program"><a href="./programs/httpd.html">httpd</a></code>
    consiste � utiliser les options de ligne de commande <code>-k</code> :
    <code>stop</code>,
    <code>restart</code>, <code>graceful</code> et <code>graceful-stop</code>,
    comme d�crit ci-dessous.  Ce sont des arguments du binaire
    <code class="program"><a href="./programs/httpd.html">httpd</a></code>, mais il est recommand� de les utiliser
    avec le script de contr�le <code class="program"><a href="./programs/apachectl.html">apachectl</a></code>, qui se
    chargera de les passer � <code class="program"><a href="./programs/httpd.html">httpd</a></code>.</p>

    <p>Apr�s avoir envoy� un signal � <code class="program"><a href="./programs/httpd.html">httpd</a></code>, vous pouvez
    suivre le cours de son action en entrant :</p>

<div class="example"><p><code>tail -f /usr/local/apache2/logs/error_log</code></p></div>

    <p>Adaptez ces exemples en fonction de la d�finition de vos directives
    <code class="directive"><a href="./mod/core.html#serverroot">ServerRoot</a></code> et
    <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="term" id="term">Arr�ter imm�diatement</a></h2>

<dl><dt>Signal: TERM</dt>
<dd><code>apachectl -k stop</code></dd>
</dl>

    <p>A la r�ception du signal <code>TERM</code> ou <code>stop</code>,
    le processus parent tente imm�diatement
    de tuer tous ses processus enfants. Cela peut durer plusieurs secondes.
    Apr�s cela, le processus parent lui-m�me se termine. Toutes les requ�tes
    en cours sont termin�es, et plus aucune autre n'est trait�e.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="graceful" id="graceful">Red�marrage en douceur</a></h2>

<dl><dt>Signal: USR1</dt>
<dd><code>apachectl -k graceful</code></dd>
</dl>

    <p>A la r�ception du signal <code>USR1</code> ou
    <code>graceful</code>, le
    processus parent envoie aux processus enfants
    <em>l'ordre</em> de se terminer une fois leur requ�te courante
    trait�e (ou de se terminer imm�diatement s'ils n'ont plus rien � traiter).
    Le processus parent relit ses fichiers de configuration et
    r�ouvre ses fichiers de log. Chaque fois qu'un enfant s'�teint, le
    processus parent le remplace par un processus
    enfant de la nouvelle <em>g�n�ration</em> de la
    configuration, et celui-ci commence imm�diatement � traiter les
    nouvelles requ�tes.</p>

    <p>Ce code est con�u pour toujours respecter la directive de contr�le
    de processus des modules MPMs, afin que les nombres de processus et de
    threads
    disponibles pour traiter les demandes des clients soient maintenus �
    des valeurs appropri�es tout au long du processus de d�marrage.
    En outre, il respecte la directive
    <code class="directive"><a href="./mod/mpm_common.html#startservers">StartServers</a></code> de la mani�re
    suivante : si apr�s une seconde au moins <code class="directive"><a href="./mod/mpm_common.html#startservers">StartServers</a></code> nouveaux processus
    enfants n'ont pas �t� cr��s, un nombre suffisant de processus
    suppl�mentaires est cr�� pour combler le manque. Ainsi le code
    tente de maintenir � la fois le nombre appropri� de processus enfants
    en fonction de la charge du serveur, et vos souhaits d�finis par la
    directive <code class="directive"><a href="./mod/mpm_common.html#startservers">StartServers</a></code>.</p>

    <p>Les utilisateurs du module <code class="module"><a href="./mod/mod_status.html">mod_status</a></code>
    noteront que les statistiques du serveur ne sont <strong>pas</strong>
    remises � z�ro quand un signal <code>USR1</code> est envoy�. Le code
    a �t� con�u � la fois pour minimiser la dur�e durant laquelle le
    serveur ne peut pas traiter de nouvelles requ�tes (elle sont mises en
    file d'attente par le syst�me d'exploitation, et ne sont ainsi jamais
    perdues) et pour respecter vos param�tres de personnalisation.
    Pour y parvenir, il doit conserver le
    <em>tableau</em> utilis� pour garder la trace de tous les processus
    enfants au cours des diff�rentes g�n�rations.</p>

    <p>Dans son �tat des processus,
    le module status utilise aussi un <code>G</code> afin d'indiquer
    quels processus enfants ont encore des traitements de requ�tes en cours
    d�but�s avant que l'ordre graceful restart ne soit donn�.</p>

    <p>Pour l'instant, il est impossible pour un script de rotation
    des logs utilisant
    <code>USR1</code> de savoir de mani�re certaine si tous les processus
    enfants inscrivant des traces de pr�-red�marrage sont termin�s.
    Nous vous sugg�rons d'attendre un d�lai suffisant apr�s l'envoi du
    signal <code>USR1</code>
    avant de faire quoi que ce soit avec les anciens logs. Par exemple,
    si la plupart de vos traitements durent moins de 10 minutes pour des
    utilisateurs empruntant des liaisons � faible bande passante, alors vous
    devriez attendre 15 minutes avant de faire quoi que ce soit
    avec les anciens logs.</p>

    <div class="note">
    <p>Lorsque vous initiez un red�marrage, une v�rification de
    la syntaxe est tout d'abord effectu�e, afin de s'assurer qu'il n'y a
    pas d'erreurs dans les fichiers de configuration. Si votre fichier de
    configuration comporte des erreurs de syntaxe, vous recevrez un message
    d'erreur les concernant, et le serveur refusera de red�marrer. Ceci
    permet d'�viter la situation o� un serveur a
    �t� arr�t� et ne peut plus red�marrer,
    et o� vous vous retrouvez avec un serveur hors-service.</p>

    <p>Ceci ne garantit pas encore que le serveur va red�marrer
    correctement. Pour v�rifier la s�mantique des fichiers de configuration
    en plus de leur syntaxe, vous pouvez essayer de d�marrer
    <code class="program"><a href="./programs/httpd.html">httpd</a></code> sous un utilisateur non root.
    S'il n'y a pas d'erreurs, il tentera d'ouvrir ses sockets et ses fichiers
    de log et �chouera car il n'a pas les privil�ges root (ou parce que
    l'instance actuelle de
    <code class="program"><a href="./programs/httpd.html">httpd</a></code> est d�j� associ�e � ces ports). S'il �choue
    pour toute autre raison, il y a probablement une erreur dans le
    fichier de configuration et celle-ci doit �tre corrig�e avant de lancer
    le red�marrage en douceur.</p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="hup" id="hup">Red�marrer imm�diatement</a></h2>

<dl><dt>Signal: HUP</dt>
<dd><code>apachectl -k restart</code></dd>
</dl>

    <p>A la r�ception du signal <code>HUP</code> ou
    <code>restart</code>, le
    processus parent tue ses processus enfants comme pour le signal
    <code>TERM</code>, mais le processus parent ne se termine pas.
    Il relit ses fichiers de configuration, et r�ouvre ses fichiers de log.
    Puis il donne naissance � un nouveau jeu de processus enfants
    et continue de traiter les requ�tes.</p>

    <p>Les utilisateurs du module <code class="module"><a href="./mod/mod_status.html">mod_status</a></code>
    noteront que les statistiques du serveur sont remises � z�ro quand un
    signal <code>HUP</code> est envoy�.</p>

<div class="note">Comme dans le cas d'un red�marrage "graceful", une
v�rification de la syntaxe est effectu�e avant que le
red�marrage ne soit tent�. Si votre fichier de configuration comporte
des erreurs de syntaxe, le red�marrage ne sera pas effectu�, et
vous recevrez un message concernant ces erreurs.</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="gracefulstop" id="gracefulstop">Arr�t en douceur</a></h2>

<dl><dt>Signal : WINCH</dt>
<dd><code>apachectl -k graceful-stop</code></dd>
</dl>

    <p>A la r�ception du signal <code>WINCH</code> ou
    <code>graceful-stop</code>, le
    processus parent <em>avise</em> ses processus enfants
    de s'arr�ter apr�s le traitement de leur requ�te en cours
    (ou de s'arr�ter imm�diatement s'ils n'ont plus de requ�te � traiter).
    Le processus parent va alors supprimer son fichier
    <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code> et cesser l'�coute
    de tous ses ports. Le processus parent va continuer � s'ex�cuter,
    et va surveiller les processus enfants
    qui ont encore des requ�tes � traiter. Lorsque tous les processus enfants
    ont termin� leurs traitements et se sont arr�t�s ou lorsque le d�lai
    sp�cifi� par la directive <code class="directive"><a href="./mod/mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></code> a �t� atteint,
    le processus parent s'arr�tera � son tour.  Si ce d�lai est atteint,
    tout processus enfant encore en cours d'ex�cution se verra envoyer
    le signal <code>TERM</code>
    afin de le forcer � s'arr�ter.</p>

    <p>L'envoi du signal <code>TERM</code> va arr�ter imm�diatement
    les processus parent et enfants en �tat "graceful". Cependant,
    comme le fichier <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code>
    aura �t� supprim�, vous ne pourrez pas utiliser
    <code>apachectl</code> ou <code>httpd</code> pour envoyer ce signal.</p>

    <div class="note"><p>Le signal <code>graceful-stop</code> vous permet d'ex�cuter
    simultan�ment plusieurs instances de <code class="program"><a href="./programs/httpd.html">httpd</a></code>
    avec des configurations identiques. Ceci s'av�re une fonctionnalit�
    puissante quand vous effectuez des mises � jour "en douceur"
    de httpd ; cependant, cela peut aussi causer des blocages fatals et des
    situations de comp�tition (race conditions)
    avec certaines configurations.</p>

    <p>On a pris soin de s'assurer que les fichiers sur disque
    comme les fichiers verrou (<code class="directive"><a href="./mod/core.html#mutex">Mutex</a></code>) et les fichiers socket Unix
    (<code class="directive"><a href="./mod/mod_cgid.html#scriptsock">ScriptSock</a></code>) contiennent le PID
    du serveur, et coexistent sans probl�me. Cependant, si une directive de
    configuration, un module tiers ou une CGI r�sidente utilise un autre
    verrou ou fichier d'�tat sur disque, il faut prendre soin de s'assurer
    que chaque instance de <code class="program"><a href="./programs/httpd.html">httpd</a></code> qui s'ex�cute
    n'�crase pas les fichiers des autres instances.</p>

    <p>Vous devez aussi prendre garde aux autres situations de comp�tition,
    comme l'utilisation de l'enregistrement des logs avec un transfert de ceux-ci
    dans le style <code class="program"><a href="./programs/rotation des logs.html">rotation des logs</a></code>. Plusieurs instances
    du programme de <code class="program"><a href="./programs/rotation des logs.html">rotation des logs</a></code> qui tentent d'effectuer
    une rotation des m�mes fichiers de log en m�me temps peuvent d�truire
    mutuellement leurs propres fichiers de log.</p></div>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./de/stopping.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="./en/stopping.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/stopping.html" hreflang="es" rel="alternate" title="Espa�ol">&nbsp;es&nbsp;</a> |
<a href="./fr/stopping.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/stopping.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/stopping.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&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/trunk/stopping.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>