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 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295
|
<?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 Versin 2.4</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 rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<script src="./style/scripts/prettify.min.js" type="text/javascript">
</script>
<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="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>
<p class="apache">Versin 2.4 del Servidor HTTP Apache</p>
<img alt="" src="./images/feather.gif" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentacin</a> > <a href="./">Versin 2.4</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"> de </a> |
<a href="./en/stopping.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./es/stopping.html" title="Espaol"> es </a> |
<a href="./fr/stopping.html" hreflang="fr" rel="alternate" title="Franais"> fr </a> |
<a href="./ja/stopping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/stopping.html" hreflang="tr" rel="alternate" title="Trke"> tr </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><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>
<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>httpd</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>httpd</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>httpd</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 <a href="programs/httpd.html">httpd</a>, pero se recomienda que se
pasen al script de control <a href="programs/apachectl.html">apachectl</a>, que a su vez los
pasar a <code>httpd</code>.</p>
<p>Despus de haber enviado las seales que desee a
<code>httpd</code>, puede ver como 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 <a href="programs/httpd.html">httpd</a>). 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>httpd</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>httpd</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"> de </a> |
<a href="./en/stopping.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./es/stopping.html" title="Espaol"> es </a> |
<a href="./fr/stopping.html" hreflang="fr" rel="alternate" title="Franais"> fr </a> |
<a href="./ja/stopping.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/stopping.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/stopping.html" hreflang="tr" rel="alternate" title="Trke"> tr </a></p>
</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>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/stopping.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2014 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="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[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>
|