Respuestas:
Verificación: http://httpd.apache.org/docs/2.2/programs/apachectl.html
apachectl configtest
Otra forma es httpd -t
. Por lo tanto, está disponible en la versión de Windows de Apache. Consulte http://httpd.apache.org/docs/2.4/programs/httpd.html
apachectl configtest
obtengo Syntax OK
, pero cuando ejecuto apache2 -t
obtengo AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf
(entre otros errores)
apachectl configtest
Es la respuesta correcta. Lamentablemente, tengo una instalación de Windows donde falta Apachectl. Aquí llamar httpd
también ayuda.
La prueba de configuración de Apache ( apachectl configtest
o sus equivalentes) solo prueba el archivo de configuración (y los archivos que incluye recursivamente) para una sintaxis válida. Sin embargo, la pregunta original pedía evitar el tiempo de inactividad. Incluso cuando apachectl configtest
no devuelve un error, un reinicio real puede fallar, causando tiempo de inactividad.
Las causas comunes de tales fallas incluyen certificados SSL faltantes o inaccesibles, directorios faltantes para archivos de registro o un directorio raíz del sitio web faltante. A menudo, tales errores son causados al eliminar el directorio de un vhost sin eliminar el archivo de configuración de vhost Apache. Se recomienda encarecidamente utilizar una herramienta como títere o ansible para evitar tales inconsistencias.
Al ver que esta pregunta es el éxito número uno al buscar en Google "Apache config lint", pensé en mencionar este pequeño detalle ...
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message