Si ha realizado cambios en el archivo de configuración de Apache httpd.conf o en uno de los otros archivos de configuración incluidos como los archivos vhosts.d, debe volver a cargar el servicio Apache para que los cambios surtan efecto. Desde la línea de comando, haz esto con el comando apachectl. La ubicación exacta de este comando varía según la variante de Unix o Linux que esté utilizando (por ejemplo, Fedora, OSX, FreeBSD, Slackware, Mandrake, SUSE) y la configuración del tiempo de compilación, pero normalmente es accesible en / usr / sbin / apachectl
Reinicio correcto de Apache
A continuación se muestra un ejemplo de reinicio correcto de Apache:
/usr/sbin/apachectl graceful
Tenga en cuenta que deberá ejecutar como root o utilizar el comando» sudo «para ejecutar este comando .
Si Apache aún no se está ejecutando, se iniciará. Si ya se está ejecutando, se volverá a cargar con los nuevos cambios, pero no abortará las conexiones activas, lo que significa que cualquiera que esté en medio de la descarga de algo seguirá pudiendo descargarlo.
Ejecutando una configuración probar primero
Antes de reiniciar el servicio Apache, se realizará una verificación en los archivos de configuración para asegurarse de que sean válidos. Si hay un error en ellos, se mostrará el error y el servicio Apache continuará ejecutándose con la configuración anterior. Necesita corregir su configuración antes de intentar reiniciar nuevamente.
También puede verificar la configuración sin reiniciar Apache así:
/usr/sbin/apachectl configtest
Esto comprobará el archivo httpd.conf e informará si la sintaxis del archivo es válido o no. Se mostrará una lista de errores, incluidos los números de línea, si los hay. Esto facilita el aislamiento de cualquier problema.
Opciones disponibles para el comando apachectl
Las siguientes son todas las opciones disponibles que se pueden pasar al comando apachectl. Este texto es de la página de manual de apachectl.
inicio de apachectl: Inicie el demonio de Apache. Da un error si ya se está ejecutando.
apachectl stop: detiene el demonio de Apache.
apachectl restart: Reinicia el demonio Apache enviándole un SIGHUP. Si el demonio no se está ejecutando, se inicia. Este comando verifica automáticamente los archivos de configuración a través de configtest antes de iniciar el reinicio para asegurarse de que Apache no muera.
fullstatus: muestra un informe de estado completo de mod_status. Para que esto funcione, debe tener habilitado mod_status en su servidor y un navegador basado en texto como lynx disponible en su sistema. La URL utilizada para acceder al informe de estado se puede configurar editando la variable STATUSURL en el script.
Apachectl status: muestra un breve informe de estado. Similar a la opción fullstatus, excepto que se omite la lista de solicitudes que se están atendiendo actualmente.
apachectl graceful: reinicia correctamente el demonio de Apache enviándole un SIGUSR1. Si el demonio no se está ejecutando, se inicia. Esto se diferencia de un reinicio normal en que las conexiones abiertas actualmente no se cancelan. Un efecto secundario es que los archivos de registro antiguos no se cerrarán de inmediato. Esto significa que, si se utiliza en un script de rotación de registros, puede ser necesario un retraso considerable para garantizar que los archivos de registro antiguos se cierren antes de procesarlos. Este comando verifica automáticamente los archivos de configuración a través de configtest antes de iniciar el reinicio para asegurarse de que Apache no muera.
apachectl configtest: Ejecute una prueba de sintaxis del archivo de configuración. Analiza los archivos de configuración y reporta Syntax Ok o información detallada sobre el error de sintaxis en particular.
Apachectl help: Muestra un breve mensaje de ayuda .
Actualización 19 de marzo de 2007
Escribí este artículo originalmente para Apache 1.3 y cuando estaba usando Gentoo Linux y OSX para servir páginas con Apache. En mis máquinas openSUSE actuales que ejecutan Apache 2.2 ya no hay un programa apachectl. En lugar del comando anterior, puede ejecutar el siguiente comando y opciones muy similares:
/etc/init.d/apache2 start|stop|reload|restart|configtest
Ejecutando /etc/init.d/apache2
en genera un mensaje de ayuda para detallar las distintas opciones que se enumeran a continuación:
iniciar – iniciar httpd
startssl – iniciar httpd con -DSSL
detener – detener httpd (enviar SIGTERM al padre)
intentar reiniciar – detener httpd y si esto tiene éxito (es decir, si se estaba ejecutando antes), comience de nuevo.
estado: compruebe si httpd se está ejecutando
reiniciar: detenga httpd si está ejecutándose; start httpd
reload | graceful – haz un reinicio elegante enviando un SIGUSR1 o inicia si no se está ejecutando
configtest – haga una prueba de sintaxis de configuración
extreme-configtest – intente ejecutar httpd como nadie (detecta más errores cargando la configuración, pero no puede leer certificados SSL)
probe – probe for la necesidad de una recarga, proporcione el argumento que se requiere para una recarga. (comparando los archivos conf con la marca de tiempo del archivo pid)
full-server-status – descarga una pantalla de estado completa; requiere lynx o w3m y mod_status habilitado
server-status – descarga una pantalla de estado corta; requiere lynx o w3m y mod_status habilitado
ayuda – esta pantalla