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.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.2 del Servidor HTTP Apache</p> 19<img alt="" src="/images/feather.gif" /></div> 20<div class="up"><a href="./"><img title="<-" alt="<-" src="/images/left.gif" /></a></div> 21<div id="path"> 22<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentaci�n</a> > <a href="./">Versi�n 2.2</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"> de </a> | 25<a href="/en/stopping.html" hreflang="en" rel="alternate" title="English"> en </a> | 26<a href="/es/stopping.html" title="Espa�ol"> es </a> | 27<a href="/fr/stopping.html" hreflang="fr" rel="alternate" title="Fran�ais"> fr </a> | 28<a href="/ja/stopping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 29<a href="/ko/stopping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 30<a href="/tr/stopping.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </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"> de </a> | 265<a href="/en/stopping.html" hreflang="en" rel="alternate" title="English"> en </a> | 266<a href="/es/stopping.html" title="Espa�ol"> es </a> | 267<a href="/fr/stopping.html" hreflang="fr" rel="alternate" title="Fran�ais"> fr </a> | 268<a href="/ja/stopping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 269<a href="/ko/stopping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 270<a href="/tr/stopping.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </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&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.2/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 2013 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>