summaryrefslogtreecommitdiffstats
path: root/rubbos/app/apache2/manual/stopping.html.es
blob: 9971b830bf4a4295649f171eda14fd174b64ac26 (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
<?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="es" xml:lang="es"><head><!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>Iniciar y Parar el servidor Apache - Servidor HTTP Apache</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="./images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/">Mdulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p>
<p class="apache">Versin 2.0 del Servidor HTTP Apache</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/">Servidor HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentacin</a> &gt; <a href="./">Versin 2.0</a></div><div id="page-content"><div id="preamble"><h1>Iniciar y Parar el servidor Apache</h1>
<div class="toplang">
<p><span>Idiomas 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" title="Espa�ol">&nbsp;es&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="./ru/stopping.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
<a href="./tr/stopping.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
</div>
<div class="outofdate">Esta traduccin podra estar
            obsoleta. Consulte la versin en ingls de la
            documentacin para comprobar si se han producido cambios
            recientemente.</div>

    <p>Este documento explica como iniciar y parar el servidor Apache
     en sistemas tipo Unix. Los usuarios de Windows NT, 2000 y XP
     deben consultar la seccin <a href="platform/windows.html#winsvc">Ejecutar Apache como un
     servicio</a> y los usuario de Windows 9x y ME deben consultar <a href="platform/windows.html#wincons">Ejecutar Apache como una
     Aplicacin de Consola</a> para obtener informacin
     sobre como controlar Apache en esas plataformas.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#introduction">Introduccin</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#term">Parar Apache</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#graceful">Reinicio Graceful</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#hup">Reiniciar Apache</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#race">Apndice: seales y race conditions</a></li>
</ul><h3>Consulte tambin</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></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">Introduccin</a></h2>

    <p>Para parar y reiniciar Apache, hay que enviar la seal
    apropiada al proceso padre <code class="program"><a href="./programs/httpd.html">httpd</a></code> que se est
    ejecutando.  Hay dos maneras de enviar estas seales.  En
    primer lugar, puede usar el comando de Unix <code>kill</code> que
    enva seales directamente a los procesos. Puede que
    tenga varios procesos <code class="program"><a href="./programs/httpd.html">httpd</a></code> ejecutandose en su
    sistema, pero las seales deben enviarse solamente al proceso
    padre, cuyo pid est especificado en la directiva <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code>. Esto quiere decir que no
    debe necesitar enviar seales a ningn proceso excepto
    al proceso padre. Hay tres seales que puede enviar al
    proceso padre: <code><a href="#term">TERM</a></code>, <code><a href="#hup">HUP</a></code>, y <code><a href="#graceful">USR1</a></code>, que van a ser descritas a
    continuacin.</p>

    <p>Para enviar una seal al proceso padre debe escribir un
    comando como el que se muestra en el ejemplo:</p>

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

    <p>La segunda manera de enviar seales a los procesos
    <code class="program"><a href="./programs/httpd.html">httpd</a></code> es usando las opciones de lnea de
    comandos <code>-k</code>: <code>stop</code>, <code>restart</code>,
    y <code>graceful</code>, como se muestra ms abajo.  Estas
    opciones se le pueden pasar al binario <code class="program"><a href="./programs/httpd.html">httpd</a></code>,
    pero se recomienda que se pasen al script de control
    <code class="program"><a href="./programs/apachectl.html">apachectl</a></code>, que a su vez los pasar a
    <code>httpd</code>.</p>

    <p>Despus de haber enviado las seales que desee a
    <code class="program"><a href="./programs/httpd.html">httpd</a></code>, puede ver cmo progresa el proceso
    escribiendo:</p>

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

    <p>Modifique estos ejemplos para que coincidan con la
    configuracin que tenga especificada en las directivas
    <code class="directive"><a href="./mod/core.html#serverroot">ServerRoot</a></code> y <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code> en su fichero principal de
    configuracin.</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">Parar Apache</a></h2>

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

    <p>Enviar las seales <code>TERM</code> o <code>stop</code>
    al proceso padre hace que se intenten eliminar todos los procesos
    hijo inmediatamente. Esto puede tardar algunos minutos. Una vez
    que hayan terminado todos los procesos hijo, terminar el
    proceso padre. Cualquier peticin en proceso terminar
    inmediatanmente, y ninguna peticin posterior ser
    atendida.</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">Reinicio Graceful</a></h2>

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

    <p>Las seales <code>USR1</code> o <code>graceful</code>
    hacen que el proceso padre <em>indique</em> a sus hijos que
    terminen despus de servir la peticin que estn
    atendiendo en ese momento (o de inmediato si no estn
    sirviendo ninguna peticin). El proceso padre lee de nuevo
    sus ficheros de configuracin y vuelve a abrir sus ficheros
    log. Conforme cada hijo va terminando, el proceso padre lo va
    sustituyendo con un hijo de una nueva <em>generacin</em> con
    la nueva configuracin, que empeciezan a servir peticiones
    inmediatamente.</p>

    <div class="note">En algunas plataformas que no permiten usar
    <code>USR1</code> para reinicios graceful, puede usarse una
    seal alternativa (como <code>WINCH</code>). Tambien puede
    usar <code>apachectl graceful</code> y el script de control
    enviar la seal adecuada para su plataforma.</div>

    <p>Apache est diseado para respetar en todo momento la
    directiva de control de procesos de los MPM, as como para
    que el nmero de procesos y hebras disponibles para servir a
    los clientes se mantenga en los valores adecuados durante el
    proceso de reinicio.  An ms, est diseado
    para respetar la directiva <code class="directive"><a href="./mod/mpm_common.html#startservers">StartServers</a></code> de la siguiente
    manera: si despus de al menos un segundo el nuevo hijo de la
    directiva <code class="directive"><a href="./mod/mpm_common.html#startservers">StartServers</a></code>
    no ha sido creado, entonces crea los suficientes para se atienda
    el trabajo que queda por hacer. As, se intenta mantener
    tanto el nmero de hijos adecuado para el trabajo que el
    servidor tenga en ese momento, como respetar la configuracin
    determinada por los parmetros de la directiva
    <code class="directive">StartServers</code>.</p>

    <p>Los usuarios del mdulo <code class="module"><a href="./mod/mod_status.html">mod_status</a></code>
    notarn que las estadsticas del servidor
    <strong>no</strong> se ponen a cero cuando se usa la seal
    <code>USR1</code>. Apache fue escrito tanto para minimizar el
    tiempo en el que el servidor no puede servir nuevas peticiones
    (que se pondrn en cola por el sistema operativo, de modo que
    se no se pierda ningn evento), como para respetar sus
    parmetros de ajuste. Para hacer esto, tiene que guardar el
    <em>scoreboard</em> usado para llevar el registro de los procesos
    hijo a travs de las distintas generaciones.</p>

    <p>El mod_status tambin usa una <code>G</code> para indicar
    que esos hijos estn todava sirviendo peticiones
    previas al reinicio graceful.</p>

    <p>Actualmente no existe ninguna manera de que un script con un
    log de rotacin usando <code>USR1</code> sepa con seguridad
    que todos los hijos que se registraron en el log con anterioridad
    al reinicio han terminado. Se aconseja que se use un retardo
    adecuado despus de enviar la seal <code>USR1</code>
    antes de hacer nada con el log antiguo. Por ejemplo, si la mayor
    parte las visitas que recibe de usuarios que tienen conexiones de
    baja velocidad tardan menos de 10 minutos en completarse, entoces
    espere 15 minutos antes de hacer nada con el log antiguo.</p>

    <div class="note">Si su fichero de configuracin tiene errores cuando
    haga el reinicio, entonces el proceso padre no se reinciciar
    y terminar con un error. En caso de un reinicio graceful,
    tambin dejar a los procesos hijo ejecutandose mientras
    existan.  (Estos son los hijos de los que se est saliendo de
    forma graceful y que estn sirviendo sus ltimas
    peticiones.) Esto provocar problemas si intenta reiniciar el
    servidor -- no ser posible conectarse a la lista de puertos
    de escucha. Antes de reiniciar, puede comprobar que la sintaxis de
    sus ficheros de configuracion es correcta con la opcin de
    lnea de comandos <code>-t</code> (consulte
    <code class="program"><a href="./programs/httpd.html">httpd</a></code>). No obstante, esto no garantiza que el
    servidor se reinicie correctamente. Para comprobar que no hay
    errores en los ficheros de configuracin, puede intentar
    iniciar <code class="program"><a href="./programs/httpd.html">httpd</a></code> con un usuario diferente a root. Si no
    hay errores, intentar abrir sus sockets y logs y
    fallar porque el usuario no es root (o porque el
    <code class="program"><a href="./programs/httpd.html">httpd</a></code> que se est ejecutando en ese momento ya
    est conectado a esos puertos). Si falla por cualquier otra
    razn, entonces casi seguro que hay algn error en
    alguno de los ficheros de configuracin y debe corregir ese o
    esos errores antes de hacer un reinicio graceful.</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">Reiniciar Apache</a></h2>

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

    <p>El envo de las seales <code>HUP</code> o
    <code>restart</code> al proceso padre hace que los procesos hijo
    terminen como si le envi ramos la seal
    <code>TERM</code>, para eliminar el proceso padre. La diferencia
    est en que estas seales vuelven a leer los archivos de
    configuracin y vuelven a abrir los ficheros log. Se genera
    un nuevo conjunto de hijos y se contina sirviendo
    peticiones.</p>

    <p>Los usuarios del mdulo <code class="module"><a href="./mod/mod_status.html">mod_status</a></code>
    notarn que las estadsticas del servidor se ponen a
    cero cuando se enva la seal <code>HUP</code>.</p>

<div class="note">Si su fichero de configuracin contiene errores, cuando
intente reiniciar, el proceso padre del servidor no se
reiniciar, sino que terminar con un error. Consulte
ms arriba cmo puede solucionar este problema.</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="race" id="race">Apndice: seales y race conditions</a></h2>

    <p>Con anterioridad a la versin de Apache 1.2b9 haba
    varias <em>race conditions</em> implicadas en las seales
    para parar y reiniciar procesos (una descripcin sencilla de
    una race condition es: un problema relacionado con el momento en
    que suceden las cosas, como si algo sucediera en momento en que no
    debe, y entonces el resultado esperado no se corresponde con el
    obtenido). Para aquellas arquitecturas que tienen el conjunto de
    caractersticas "adecuadas", se han eliminado tantas race
    conditions como ha sido posible. Pero hay que tener en cuenta que
    todava existen race conditions en algunas arquitecturas.</p>

    <p>En las arquitecturas que usan un <code class="directive"><a href="./mod/mpm_common.html#scoreboardfile">ScoreBoardFile</a></code> en disco, existe la
    posibilidad de que se corrompan los scoreboards. Esto puede hacer
    que se produzca el error "bind: Address already in use"
    (despus de usar<code>HUP</code>) o el error "long lost child
    came home!"  (despus de usar <code>USR1</code>). En el
    primer caso se trata de un error irrecuperable, mientras que en el
    segundo, solo ocurre que el servidor pierde un slot del
    scoreboard. Por lo tanto, sera aconsejable usar reinicios
    graceful, y solo hacer reinicios normales de forma
    ocasional. Estos problemas son bastante complicados de solucionar,
    pero afortunadamente casi ninguna arquitectura necesita un fichero
    scoreboard. Consulte la documentacin de la directiva
    <code class="directive"><a href="./mod/mpm_common.html#scoreboardfile">ScoreBoardFile</a></code> para ver
    las arquitecturas que la usan.</p>

    <p>Todas las arquitecturas tienen una pequea race condition
    en cada proceso hijo implicada en la segunda y subsiguientes
    peticiones en una conexin HTTP persistente
    (KeepAlive). Puede ser que el servidor termine despus de
    leer la lnea de peticin pero antes de leer cualquiera
    de las cebeceras de peticin. Hay una solucin que fue
    descubierta demasiado tarde para la incluirla en versin
    1.2. En teoria esto no debe suponer ningn problema porque el
    cliente KeepAlive ha de esperar que estas cosas pasen debido a los
    retardos de red y a los timeouts que a veces dan los
    servidores. En la practica, parece que no afecta a nada ms
    -- en una sesin de pruebas, un servidor se reinici
    veinte veces por segundo y los clientes pudieron navegar sin
    problemas por el sitio web sin encontrar problemas ni para
    descargar una sola imagen ni encontrar un solo enlace roto. </p>
</div></div>
<div class="bottomlang">
<p><span>Idiomas 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" title="Espa�ol">&nbsp;es&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="./ru/stopping.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
<a href="./tr/stopping.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2009 The Apache Software Foundation.<br />Licencia bajo los trminos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Mdulos</a> | <a href="./mod/directives.html">Directivas</a> | <a href="./faq/">Preguntas Frecuentes</a> | <a href="./glossary.html">Glosario</a> | <a href="./sitemap.html">Mapa de este sitio web</a></p></div>
</body></html>