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