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