Blame docs/manual/stopping.html.es

Packit 90a5c9
Packit 90a5c9
Packit 90a5c9
<html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"><head>
Packit 90a5c9
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
Packit 90a5c9
Packit 90a5c9
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Packit 90a5c9
              This file is generated from xml source: DO NOT EDIT
Packit 90a5c9
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Packit 90a5c9
      -->
Packit 90a5c9
<title>Iniciar y Parar el servidor Apache - Servidor HTTP Apache Versión 2.4</title>
Packit 90a5c9
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
Packit 90a5c9
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
Packit 90a5c9
<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" />
Packit 90a5c9
<script src="./style/scripts/prettify.min.js" type="text/javascript">
Packit 90a5c9
</script>
Packit 90a5c9
Packit 90a5c9
<link href="./images/favicon.ico" rel="shortcut icon" /></head>
Packit 90a5c9
<body id="manual-page">
Packit 90a5c9

Módulos | Directivas | Preguntas Frecuentes | Glosario | Mapa del sitio web

Packit 90a5c9

Versión 2.4 del Servidor HTTP Apache

Packit 90a5c9
Packit 90a5c9
<-
Packit 90a5c9
Packit 90a5c9
Apache > Servidor HTTP > Documentación > Versión 2.4

Iniciar y Parar el servidor Apache

Packit 90a5c9
Packit 90a5c9

Idiomas disponibles:  de  |

Packit 90a5c9
 en  |
Packit 90a5c9
 es  |
Packit 90a5c9
 fr  |
Packit 90a5c9
 ja  |
Packit 90a5c9
 ko  |
Packit 90a5c9
 tr 

Packit 90a5c9
Packit 90a5c9
Esta traducción podría estar
Packit 90a5c9
            obsoleta. Consulte la versión en inglés de la
Packit 90a5c9
            documentación para comprobar si se han producido cambios
Packit 90a5c9
            recientemente.
Packit 90a5c9
Packit 90a5c9
    

Este documento explica como iniciar y parar el servidor Apache

Packit 90a5c9
     en sistemas tipo Unix. Los usuarios de Windows NT, 2000 y XP
Packit 90a5c9
     deben consultar la sección Ejecutar Apache como un
Packit 90a5c9
     servicio y los usuario de Windows 9x y ME deben consultar Ejecutar Apache como una
Packit 90a5c9
     Aplicación de Consola para obtener información
Packit 90a5c9
     sobre como controlar Apache en esas plataformas.

Packit 90a5c9
Packit 90a5c9
Packit 90a5c9
  • Parar Apache
  • Packit 90a5c9
  • Reinicio Graceful
  • Packit 90a5c9
  • Reiniciar Apache
  • Packit 90a5c9
  • Apéndice: señales y race conditions
  • Packit 90a5c9

    Consulte también

    Packit 90a5c9
    top
    Packit 90a5c9
    Packit 90a5c9

    Introducción

    Packit 90a5c9
    Packit 90a5c9
        

    Para parar y reiniciar Apache, hay que enviar la señal

    Packit 90a5c9
        apropiada al proceso padre httpd que se esté
    Packit 90a5c9
        ejecutando.  Hay dos maneras de enviar estas señales.  En
    Packit 90a5c9
        primer lugar, puede usar el comando de Unix kill que
    Packit 90a5c9
        envía señales directamente a los procesos. Puede que
    Packit 90a5c9
        tenga varios procesos httpd ejecutandose en su
    Packit 90a5c9
        sistema, pero las señales deben enviarse solamente al proceso
    Packit 90a5c9
        padre, cuyo pid está especificado en la directiva PidFile. Esto quiere decir que no
    Packit 90a5c9
        debe necesitar enviar señales a ningún proceso excepto
    Packit 90a5c9
        al proceso padre. Hay tres señales que puede enviar al
    Packit 90a5c9
        proceso padre: TERM, HUP, y USR1, que van a ser descritas a
    Packit 90a5c9
        continuación.

    Packit 90a5c9
    Packit 90a5c9
        

    Para enviar una señal al proceso padre debe escribir un

    Packit 90a5c9
        comando como el que se muestra en el ejemplo:

    Packit 90a5c9
    Packit 90a5c9

    kill -TERM `cat /usr/local/apache2/logs/httpd.pid`

    Packit 90a5c9
    Packit 90a5c9
        

    La segunda manera de enviar señales a los procesos

    Packit 90a5c9
        httpd es usando las opciones de línea de
    Packit 90a5c9
        comandos -k: stop, restart,
    Packit 90a5c9
        y graceful, como se muestra más abajo.  Estas
    Packit 90a5c9
        opciones se le pueden pasar al binario httpd, pero se recomienda que se
    Packit 90a5c9
        pasen al script de control apachectl, que a su vez los
    Packit 90a5c9
        pasará a httpd.

    Packit 90a5c9
    Packit 90a5c9
        

    Después de haber enviado las señales que desee a

    Packit 90a5c9
        httpd, puede ver como progresa el proceso
    Packit 90a5c9
        escribiendo:

    Packit 90a5c9
    Packit 90a5c9

    tail -f /usr/local/apache2/logs/error_log

    Packit 90a5c9
    Packit 90a5c9
        

    Modifique estos ejemplos para que coincidan con la

    Packit 90a5c9
        configuración que tenga especificada en las directivas
    Packit 90a5c9
        ServerRoot y PidFile en su fichero principal de
    Packit 90a5c9
        configuración.

    Packit 90a5c9
    top
    Packit 90a5c9
    Packit 90a5c9

    Parar Apache

    Packit 90a5c9
    Packit 90a5c9
    Señal: TERM
    Packit 90a5c9
    apachectl -k stop
    Packit 90a5c9
    Packit 90a5c9
    Packit 90a5c9
        

    Enviar las señales TERM o stop

    Packit 90a5c9
        al proceso padre hace que se intenten eliminar todos los procesos
    Packit 90a5c9
        hijo inmediatamente. Esto puede tardar algunos minutos. Una vez
    Packit 90a5c9
        que hayan terminado todos los procesos hijo, terminará el
    Packit 90a5c9
        proceso padre. Cualquier petición en proceso terminará
    Packit 90a5c9
        inmediatanmente, y ninguna petición posterior será
    Packit 90a5c9
        atendida.

    Packit 90a5c9
    top
    Packit 90a5c9
    Packit 90a5c9

    Reinicio Graceful

    Packit 90a5c9
    Packit 90a5c9
    Señal: USR1
    Packit 90a5c9
    apachectl -k graceful
    Packit 90a5c9
    Packit 90a5c9
    Packit 90a5c9
        

    Las señales USR1 o graceful

    Packit 90a5c9
        hacen que el proceso padre indique a sus hijos que
    Packit 90a5c9
        terminen después de servir la petición que estén
    Packit 90a5c9
        atendiendo en ese momento (o de inmediato si no están
    Packit 90a5c9
        sirviendo ninguna petición). El proceso padre lee de nuevo
    Packit 90a5c9
        sus ficheros de configuración y vuelve a abrir sus ficheros
    Packit 90a5c9
        log. Conforme cada hijo va terminando, el proceso padre lo va
    Packit 90a5c9
        sustituyendo con un hijo de una nueva generación con
    Packit 90a5c9
        la nueva configuración, que empeciezan a servir peticiones
    Packit 90a5c9
        inmediatamente.

    Packit 90a5c9
    Packit 90a5c9
        
    En algunas plataformas que no permiten usar
    Packit 90a5c9
        USR1 para reinicios graceful, puede usarse una
    Packit 90a5c9
        señal alternativa (como WINCH). Tambien puede
    Packit 90a5c9
        usar apachectl graceful y el script de control
    Packit 90a5c9
        enviará la señal adecuada para su plataforma.
    Packit 90a5c9
    Packit 90a5c9
        

    Apache está diseñado para respetar en todo momento la

    Packit 90a5c9
        directiva de control de procesos de los MPM, así como para
    Packit 90a5c9
        que el número de procesos y hebras disponibles para servir a
    Packit 90a5c9
        los clientes se mantenga en los valores adecuados durante el
    Packit 90a5c9
        proceso de reinicio.  Aún más, está diseñado
    Packit 90a5c9
        para respetar la directiva StartServers de la siguiente
    Packit 90a5c9
        manera: si después de al menos un segundo el nuevo hijo de la
    Packit 90a5c9
        directiva StartServers
    Packit 90a5c9
        no ha sido creado, entonces crea los suficientes para se atienda
    Packit 90a5c9
        el trabajo que queda por hacer. Así, se intenta mantener
    Packit 90a5c9
        tanto el número de hijos adecuado para el trabajo que el
    Packit 90a5c9
        servidor tenga en ese momento, como respetar la configuración
    Packit 90a5c9
        determinada por los parámetros de la directiva
    Packit 90a5c9
        StartServers.

    Packit 90a5c9
    Packit 90a5c9
        

    Los usuarios del módulo mod_status

    Packit 90a5c9
        notarán que las estadísticas del servidor
    Packit 90a5c9
        no se ponen a cero cuando se usa la señal
    Packit 90a5c9
        USR1. Apache fue escrito tanto para minimizar el
    Packit 90a5c9
        tiempo en el que el servidor no puede servir nuevas peticiones
    Packit 90a5c9
        (que se pondrán en cola por el sistema operativo, de modo que
    Packit 90a5c9
        se no se pierda ningún evento), como para respetar sus
    Packit 90a5c9
        parámetros de ajuste. Para hacer esto, tiene que guardar el
    Packit 90a5c9
        scoreboard usado para llevar el registro de los procesos
    Packit 90a5c9
        hijo a través de las distintas generaciones.

    Packit 90a5c9
    Packit 90a5c9
        

    El mod_status también usa una G para indicar

    Packit 90a5c9
        que esos hijos están todavía sirviendo peticiones
    Packit 90a5c9
        previas al reinicio graceful.

    Packit 90a5c9
    Packit 90a5c9
        

    Actualmente no existe ninguna manera de que un script con un

    Packit 90a5c9
        log de rotación usando USR1 sepa con seguridad
    Packit 90a5c9
        que todos los hijos que se registraron en el log con anterioridad
    Packit 90a5c9
        al reinicio han terminado. Se aconseja que se use un retardo
    Packit 90a5c9
        adecuado después de enviar la señal USR1
    Packit 90a5c9
        antes de hacer nada con el log antiguo. Por ejemplo, si la mayor
    Packit 90a5c9
        parte las visitas que recibe de usuarios que tienen conexiones de
    Packit 90a5c9
        baja velocidad tardan menos de 10 minutos en completarse, entoces
    Packit 90a5c9
        espere 15 minutos antes de hacer nada con el log antiguo.

    Packit 90a5c9
    Packit 90a5c9
        
    Si su fichero de configuración tiene errores cuando
    Packit 90a5c9
        haga el reinicio, entonces el proceso padre no se reinciciará
    Packit 90a5c9
        y terminará con un error. En caso de un reinicio graceful,
    Packit 90a5c9
        también dejará a los procesos hijo ejecutandose mientras
    Packit 90a5c9
        existan.  (Estos son los hijos de los que se está saliendo de
    Packit 90a5c9
        forma graceful y que están sirviendo sus últimas
    Packit 90a5c9
        peticiones.) Esto provocará problemas si intenta reiniciar el
    Packit 90a5c9
        servidor -- no será posible conectarse a la lista de puertos
    Packit 90a5c9
        de escucha. Antes de reiniciar, puede comprobar que la sintaxis de
    Packit 90a5c9
        sus ficheros de configuracion es correcta con la opción de
    Packit 90a5c9
        línea de comandos -t (consulte httpd). No obstante, esto no
    Packit 90a5c9
        garantiza que el servidor se reinicie correctamente. Para
    Packit 90a5c9
        comprobar que no hay errores en los ficheros de
    Packit 90a5c9
        configuración, puede intentar iniciar httpd con
    Packit 90a5c9
        un usuario diferente a root. Si no hay errores, intentará
    Packit 90a5c9
        abrir sus sockets y logs y fallará porque el usuario no es
    Packit 90a5c9
        root (o porque el httpd que se está ejecutando
    Packit 90a5c9
        en ese momento ya está conectado a esos puertos). Si falla
    Packit 90a5c9
        por cualquier otra razón, entonces casi seguro que hay
    Packit 90a5c9
        algún error en alguno de los ficheros de configuración y
    Packit 90a5c9
        debe corregir ese o esos errores antes de hacer un reinicio
    Packit 90a5c9
        graceful.
    Packit 90a5c9
    top
    Packit 90a5c9
    Packit 90a5c9

    Reiniciar Apache

    Packit 90a5c9
    Packit 90a5c9
    Señal: HUP
    Packit 90a5c9
    apachectl -k restart
    Packit 90a5c9
    Packit 90a5c9
    Packit 90a5c9
        

    El envío de las señales HUP o

    Packit 90a5c9
        restart al proceso padre hace que los procesos hijo
    Packit 90a5c9
        terminen como si le enviá ramos la señal
    Packit 90a5c9
        TERM, para eliminar el proceso padre. La diferencia
    Packit 90a5c9
        está en que estas señales vuelven a leer los archivos de
    Packit 90a5c9
        configuración y vuelven a abrir los ficheros log. Se genera
    Packit 90a5c9
        un nuevo conjunto de hijos y se continúa sirviendo
    Packit 90a5c9
        peticiones.

    Packit 90a5c9
    Packit 90a5c9
        

    Los usuarios del módulo mod_status

    Packit 90a5c9
        notarán que las estadísticas del servidor se ponen a
    Packit 90a5c9
        cero cuando se envía la señal HUP.

    Packit 90a5c9
    Packit 90a5c9
    Si su fichero de configuración contiene errores, cuando
    Packit 90a5c9
    intente reiniciar, el proceso padre del servidor no se
    Packit 90a5c9
    reiniciará, sino que terminará con un error. Consulte
    Packit 90a5c9
    más arriba cómo puede solucionar este problema.
    Packit 90a5c9
    top
    Packit 90a5c9
    Packit 90a5c9

    Apéndice: señales y race conditions

    Packit 90a5c9
    Packit 90a5c9
        

    Con anterioridad a la versión de Apache 1.2b9 había

    Packit 90a5c9
        varias race conditions implicadas en las señales
    Packit 90a5c9
        para parar y reiniciar procesos (una descripción sencilla de
    Packit 90a5c9
        una race condition es: un problema relacionado con el momento en
    Packit 90a5c9
        que suceden las cosas, como si algo sucediera en momento en que no
    Packit 90a5c9
        debe, y entonces el resultado esperado no se corresponde con el
    Packit 90a5c9
        obtenido). Para aquellas arquitecturas que tienen el conjunto de
    Packit 90a5c9
        características "adecuadas", se han eliminado tantas race
    Packit 90a5c9
        conditions como ha sido posible. Pero hay que tener en cuenta que
    Packit 90a5c9
        todavía existen race conditions en algunas arquitecturas.

    Packit 90a5c9
    Packit 90a5c9
        

    En las arquitecturas que usan un ScoreBoardFile en disco, existe la

    Packit 90a5c9
        posibilidad de que se corrompan los scoreboards. Esto puede hacer
    Packit 90a5c9
        que se produzca el error "bind: Address already in use"
    Packit 90a5c9
        (después de usarHUP) o el error "long lost child
    Packit 90a5c9
        came home!"  (después de usar USR1). En el
    Packit 90a5c9
        primer caso se trata de un error irrecuperable, mientras que en el
    Packit 90a5c9
        segundo, solo ocurre que el servidor pierde un slot del
    Packit 90a5c9
        scoreboard. Por lo tanto, sería aconsejable usar reinicios
    Packit 90a5c9
        graceful, y solo hacer reinicios normales de forma
    Packit 90a5c9
        ocasional. Estos problemas son bastante complicados de solucionar,
    Packit 90a5c9
        pero afortunadamente casi ninguna arquitectura necesita un fichero
    Packit 90a5c9
        scoreboard. Consulte la documentación de la directiva
    Packit 90a5c9
        ScoreBoardFile para ver
    Packit 90a5c9
        las arquitecturas que la usan.

    Packit 90a5c9
    Packit 90a5c9
        

    Todas las arquitecturas tienen una pequeña race condition

    Packit 90a5c9
        en cada proceso hijo implicada en la segunda y subsiguientes
    Packit 90a5c9
        peticiones en una conexión HTTP persistente
    Packit 90a5c9
        (KeepAlive). Puede ser que el servidor termine después de
    Packit 90a5c9
        leer la línea de petición pero antes de leer cualquiera
    Packit 90a5c9
        de las cebeceras de petición. Hay una solución que fue
    Packit 90a5c9
        descubierta demasiado tarde para la incluirla en versión
    Packit 90a5c9
        1.2. En teoria esto no debe suponer ningún problema porque el
    Packit 90a5c9
        cliente KeepAlive ha de esperar que estas cosas pasen debido a los
    Packit 90a5c9
        retardos de red y a los timeouts que a veces dan los
    Packit 90a5c9
        servidores. En la practica, parece que no afecta a nada más
    Packit 90a5c9
        -- en una sesión de pruebas, un servidor se reinició
    Packit 90a5c9
        veinte veces por segundo y los clientes pudieron navegar sin
    Packit 90a5c9
        problemas por el sitio web sin encontrar problemas ni para
    Packit 90a5c9
        descargar una sola imagen ni encontrar un solo enlace roto. 

    Packit 90a5c9
    Packit 90a5c9
    Packit 90a5c9

    Idiomas disponibles:  de  |

    Packit 90a5c9
     en  |
    Packit 90a5c9
     es  |
    Packit 90a5c9
     fr  |
    Packit 90a5c9
     ja  |
    Packit 90a5c9
     ko  |
    Packit 90a5c9
     tr 

    Packit 90a5c9
    top

    Comentarios

    Notice:
    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 mailing lists.
    Packit 90a5c9
    <script type="text/javascript">
    Packit 90a5c9
    var comments_shortname = 'httpd';
    Packit 90a5c9
    var comments_identifier = 'http://httpd.apache.org/docs/2.4/stopping.html';
    Packit 90a5c9
    (function(w, d) {
    Packit 90a5c9
        if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
    Packit 90a5c9
            d.write('
    <\/div>');
    Packit 90a5c9
            var s = d.createElement('script');
    Packit 90a5c9
            s.type = 'text/javascript';
    Packit 90a5c9
            s.async = true;
    Packit 90a5c9
            s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
    Packit 90a5c9
            (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    Packit 90a5c9
        }
    Packit 90a5c9
        else { 
    Packit 90a5c9
            d.write('
    Comments are disabled for this page at the moment.<\/div>');
    Packit 90a5c9
        }
    Packit 90a5c9
    })(window, document);
    Packit 90a5c9
    //--></script>
    Packit 90a5c9

    Copyright 2018 The Apache Software Foundation.
    Licencia bajo los términos de la Apache License, Version 2.0.

    Packit 90a5c9

    Módulos | Directivas | Preguntas Frecuentes | Glosario | Mapa del sitio web

    <script type="text/javascript">
    Packit 90a5c9
    if (typeof(prettyPrint) !== 'undefined') {
    Packit 90a5c9
        prettyPrint();
    Packit 90a5c9
    }
    Packit 90a5c9
    //--></script>
    Packit 90a5c9
    </body></html>