]> granicus.if.org Git - apache/blob - docs/manual/stopping.html.es
Copyright year change transformation.
[apache] / docs / manual / stopping.html.es
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="es" xml:lang="es"><head><!--
4         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       -->
8 <title>Iniciar y Parar el servidor Apache - Servidor HTTP Apache</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/">Módulos</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>
15 <p class="apache">Versión 2.3 del Servidor HTTP Apache</p>
16 <img alt="" src="./images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
18 <div id="path">
19 <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/">Documentación</a> &gt; <a href="./">Versión 2.3</a></div><div id="page-content"><div id="preamble"><h1>Iniciar y Parar el servidor Apache</h1>
20 <div class="toplang">
21 <p><span>Idiomas disponibles: </span><a href="./de/stopping.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
22 <a href="./en/stopping.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
23 <a href="./es/stopping.html" title="Español">&nbsp;es&nbsp;</a> |
24 <a href="./fr/stopping.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
25 <a href="./ja/stopping.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
26 <a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
27 </div>
28 <div class="outofdate">Esta traducción podría estar
29             obsoleta. Consulte la versión en inglés de la
30             documentación para comprobar si se han producido cambios
31             recientemente.</div>
32
33     <p>Este documento explica como iniciar y parar el servidor Apache
34      en sistemas tipo Unix. Los usuarios de Windows NT, 2000 y XP
35      deben consultar la sección <a href="platform/windows.html#winsvc">Ejecutar Apache como un
36      servicio</a> y los usuario de Windows 9x y ME deben consultar <a href="platform/windows.html#wincons">Ejecutar Apache como una
37      Aplicación de Consola</a> para obtener información
38      sobre como controlar Apache en esas plataformas.</p>
39 </div>
40 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#introduction">Introducción</a></li>
41 <li><img alt="" src="./images/down.gif" /> <a href="#term">Parar Apache</a></li>
42 <li><img alt="" src="./images/down.gif" /> <a href="#graceful">Reinicio Graceful</a></li>
43 <li><img alt="" src="./images/down.gif" /> <a href="#hup">Reiniciar Apache</a></li>
44 <li><img alt="" src="./images/down.gif" /> <a href="#race">Apéndice: señales y race conditions</a></li>
45 </ul><h3>Consulte también</h3><ul class="seealso"><li><a href="programs/httpd.html">httpd</a></li><li><a href="programs/apachectl.html">apachectl</a></li></ul></div>
46 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
47 <div class="section">
48 <h2><a name="introduction" id="introduction">Introducción</a></h2>
49
50     <p>Para parar y reiniciar Apache, hay que enviar la señal
51     apropiada al proceso padre <code>httpd</code> que se esté
52     ejecutando.  Hay dos maneras de enviar estas señales.  En
53     primer lugar, puede usar el comando de Unix <code>kill</code> que
54     envía señales directamente a los procesos. Puede que
55     tenga varios procesos <code>httpd</code> ejecutandose en su
56     sistema, pero las señales deben enviarse solamente al proceso
57     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
58     debe necesitar enviar señales a ningún proceso excepto
59     al proceso padre. Hay tres señales que puede enviar al
60     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
61     continuación.</p>
62
63     <p>Para enviar una señal al proceso padre debe escribir un
64     comando como el que se muestra en el ejemplo:</p>
65
66 <div class="example"><p><code>kill -TERM `cat /usr/local/apache2/logs/httpd.pid`</code></p></div>
67
68     <p>La segunda manera de enviar señales a los procesos
69     <code>httpd</code> es usando las opciones de línea de
70     comandos <code>-k</code>: <code>stop</code>, <code>restart</code>,
71     y <code>graceful</code>, como se muestra más abajo.  Estas
72     opciones se le pueden pasar al binario <a href="programs/httpd.html">httpd</a>, pero se recomienda que se
73     pasen al script de control <a href="programs/apachectl.html">apachectl</a>, que a su vez los
74     pasará a <code>httpd</code>.</p>
75
76     <p>Después de haber enviado las señales que desee a
77     <code>httpd</code>, puede ver como progresa el proceso
78     escribiendo:</p>
79
80 <div class="example"><p><code>tail -f /usr/local/apache2/logs/error_log</code></p></div>
81
82     <p>Modifique estos ejemplos para que coincidan con la
83     configuración que tenga especificada en las directivas
84     <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
85     configuración.</p>
86 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
87 <div class="section">
88 <h2><a name="term" id="term">Parar Apache</a></h2>
89
90 <dl><dt>Señal: TERM</dt>
91 <dd><code>apachectl -k stop</code></dd>
92 </dl>
93
94     <p>Enviar las señales <code>TERM</code> o <code>stop</code>
95     al proceso padre hace que se intenten eliminar todos los procesos
96     hijo inmediatamente. Esto puede tardar algunos minutos. Una vez
97     que hayan terminado todos los procesos hijo, terminará el
98     proceso padre. Cualquier petición en proceso terminará
99     inmediatanmente, y ninguna petición posterior será
100     atendida.</p>
101 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
102 <div class="section">
103 <h2><a name="graceful" id="graceful">Reinicio Graceful</a></h2>
104
105 <dl><dt>Señal: USR1</dt>
106 <dd><code>apachectl -k graceful</code></dd>
107 </dl>
108
109     <p>Las señales <code>USR1</code> o <code>graceful</code>
110     hacen que el proceso padre <em>indique</em> a sus hijos que
111     terminen después de servir la petición que estén
112     atendiendo en ese momento (o de inmediato si no están
113     sirviendo ninguna petición). El proceso padre lee de nuevo
114     sus ficheros de configuración y vuelve a abrir sus ficheros
115     log. Conforme cada hijo va terminando, el proceso padre lo va
116     sustituyendo con un hijo de una nueva <em>generación</em> con
117     la nueva configuración, que empeciezan a servir peticiones
118     inmediatamente.</p>
119
120     <div class="note">En algunas plataformas que no permiten usar
121     <code>USR1</code> para reinicios graceful, puede usarse una
122     señal alternativa (como <code>WINCH</code>). Tambien puede
123     usar <code>apachectl graceful</code> y el script de control
124     enviará la señal adecuada para su plataforma.</div>
125
126     <p>Apache está diseñado para respetar en todo momento la
127     directiva de control de procesos de los MPM, así como para
128     que el número de procesos y hebras disponibles para servir a
129     los clientes se mantenga en los valores adecuados durante el
130     proceso de reinicio.  Aún más, está diseñado
131     para respetar la directiva <code class="directive"><a href="./mod/mpm_common.html#startservers">StartServers</a></code> de la siguiente
132     manera: si después de al menos un segundo el nuevo hijo de la
133     directiva <code class="directive"><a href="./mod/mpm_common.html#startservers">StartServers</a></code>
134     no ha sido creado, entonces crea los suficientes para se atienda
135     el trabajo que queda por hacer. Así, se intenta mantener
136     tanto el número de hijos adecuado para el trabajo que el
137     servidor tenga en ese momento, como respetar la configuración
138     determinada por los parámetros de la directiva
139     <code class="directive">StartServers</code>.</p>
140
141     <p>Los usuarios del módulo <code class="module"><a href="./mod/mod_status.html">mod_status</a></code>
142     notarán que las estadísticas del servidor
143     <strong>no</strong> se ponen a cero cuando se usa la señal
144     <code>USR1</code>. Apache fue escrito tanto para minimizar el
145     tiempo en el que el servidor no puede servir nuevas peticiones
146     (que se pondrán en cola por el sistema operativo, de modo que
147     se no se pierda ningún evento), como para respetar sus
148     parámetros de ajuste. Para hacer esto, tiene que guardar el
149     <em>scoreboard</em> usado para llevar el registro de los procesos
150     hijo a través de las distintas generaciones.</p>
151
152     <p>El mod_status también usa una <code>G</code> para indicar
153     que esos hijos están todavía sirviendo peticiones
154     previas al reinicio graceful.</p>
155
156     <p>Actualmente no existe ninguna manera de que un script con un
157     log de rotación usando <code>USR1</code> sepa con seguridad
158     que todos los hijos que se registraron en el log con anterioridad
159     al reinicio han terminado. Se aconseja que se use un retardo
160     adecuado después de enviar la señal <code>USR1</code>
161     antes de hacer nada con el log antiguo. Por ejemplo, si la mayor
162     parte las visitas que recibe de usuarios que tienen conexiones de
163     baja velocidad tardan menos de 10 minutos en completarse, entoces
164     espere 15 minutos antes de hacer nada con el log antiguo.</p>
165
166     <div class="note">Si su fichero de configuración tiene errores cuando
167     haga el reinicio, entonces el proceso padre no se reinciciará
168     y terminará con un error. En caso de un reinicio graceful,
169     también dejará a los procesos hijo ejecutandose mientras
170     existan.  (Estos son los hijos de los que se está saliendo de
171     forma graceful y que están sirviendo sus últimas
172     peticiones.) Esto provocará problemas si intenta reiniciar el
173     servidor -- no será posible conectarse a la lista de puertos
174     de escucha. Antes de reiniciar, puede comprobar que la sintaxis de
175     sus ficheros de configuracion es correcta con la opción de
176     línea de comandos <code>-t</code> (consulte <a href="programs/httpd.html">httpd</a>). No obstante, esto no
177     garantiza que el servidor se reinicie correctamente. Para
178     comprobar que no hay errores en los ficheros de
179     configuración, puede intentar iniciar <code>httpd</code> con
180     un usuario diferente a root. Si no hay errores, intentará
181     abrir sus sockets y logs y fallará porque el usuario no es
182     root (o porque el <code>httpd</code> que se está ejecutando
183     en ese momento ya está conectado a esos puertos). Si falla
184     por cualquier otra razón, entonces casi seguro que hay
185     algún error en alguno de los ficheros de configuración y
186     debe corregir ese o esos errores antes de hacer un reinicio
187     graceful.</div>
188 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
189 <div class="section">
190 <h2><a name="hup" id="hup">Reiniciar Apache</a></h2>
191
192 <dl><dt>Señal: HUP</dt>
193 <dd><code>apachectl -k restart</code></dd>
194 </dl>
195
196     <p>El envío de las señales <code>HUP</code> o
197     <code>restart</code> al proceso padre hace que los procesos hijo
198     terminen como si le enviá ramos la señal
199     <code>TERM</code>, para eliminar el proceso padre. La diferencia
200     está en que estas señales vuelven a leer los archivos de
201     configuración y vuelven a abrir los ficheros log. Se genera
202     un nuevo conjunto de hijos y se continúa sirviendo
203     peticiones.</p>
204
205     <p>Los usuarios del módulo <code class="module"><a href="./mod/mod_status.html">mod_status</a></code>
206     notarán que las estadísticas del servidor se ponen a
207     cero cuando se envía la señal <code>HUP</code>.</p>
208
209 <div class="note">Si su fichero de configuración contiene errores, cuando
210 intente reiniciar, el proceso padre del servidor no se
211 reiniciará, sino que terminará con un error. Consulte
212 más arriba cómo puede solucionar este problema.</div>
213 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
214 <div class="section">
215 <h2><a name="race" id="race">Apéndice: señales y race conditions</a></h2>
216
217     <p>Con anterioridad a la versión de Apache 1.2b9 había
218     varias <em>race conditions</em> implicadas en las señales
219     para parar y reiniciar procesos (una descripción sencilla de
220     una race condition es: un problema relacionado con el momento en
221     que suceden las cosas, como si algo sucediera en momento en que no
222     debe, y entonces el resultado esperado no se corresponde con el
223     obtenido). Para aquellas arquitecturas que tienen el conjunto de
224     características "adecuadas", se han eliminado tantas race
225     conditions como ha sido posible. Pero hay que tener en cuenta que
226     todavía existen race conditions en algunas arquitecturas.</p>
227
228     <p>En las arquitecturas que usan un <code class="directive"><a href="./mod/mpm_common.html#scoreboardfile">ScoreBoardFile</a></code> en disco, existe la
229     posibilidad de que se corrompan los scoreboards. Esto puede hacer
230     que se produzca el error "bind: Address already in use"
231     (después de usar<code>HUP</code>) o el error "long lost child
232     came home!"  (después de usar <code>USR1</code>). En el
233     primer caso se trata de un error irrecuperable, mientras que en el
234     segundo, solo ocurre que el servidor pierde un slot del
235     scoreboard. Por lo tanto, sería aconsejable usar reinicios
236     graceful, y solo hacer reinicios normales de forma
237     ocasional. Estos problemas son bastante complicados de solucionar,
238     pero afortunadamente casi ninguna arquitectura necesita un fichero
239     scoreboard. Consulte la documentación de la directiva
240     <code class="directive"><a href="./mod/mpm_common.html#scoreboardfile">ScoreBoardFile</a></code> para ver
241     las arquitecturas que la usan.</p>
242
243     <p>Todas las arquitecturas tienen una pequeña race condition
244     en cada proceso hijo implicada en la segunda y subsiguientes
245     peticiones en una conexión HTTP persistente
246     (KeepAlive). Puede ser que el servidor termine después de
247     leer la línea de petición pero antes de leer cualquiera
248     de las cebeceras de petición. Hay una solución que fue
249     descubierta demasiado tarde para la incluirla en versión
250     1.2. En teoria esto no debe suponer ningún problema porque el
251     cliente KeepAlive ha de esperar que estas cosas pasen debido a los
252     retardos de red y a los timeouts que a veces dan los
253     servidores. En la practica, parece que no afecta a nada más
254     -- en una sesión de pruebas, un servidor se reinició
255     veinte veces por segundo y los clientes pudieron navegar sin
256     problemas por el sitio web sin encontrar problemas ni para
257     descargar una sola imagen ni encontrar un solo enlace roto. </p>
258 </div></div>
259 <div class="bottomlang">
260 <p><span>Idiomas disponibles: </span><a href="./de/stopping.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
261 <a href="./en/stopping.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
262 <a href="./es/stopping.html" title="Español">&nbsp;es&nbsp;</a> |
263 <a href="./fr/stopping.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
264 <a href="./ja/stopping.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
265 <a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
266 </div><div id="footer">
267 <p class="apache">Copyright 2008 The Apache Software Foundation.<br />Licencia bajo los términos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
268 <p class="menu"><a href="./mod/">Módulos</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>
269 </body></html>