5 votos

¿Por qué brew siempre reporta éxito cuando falla al iniciar un servicio?

Estoy tratando de configurar httpd con HomeBrew en un mac.

Como dolorosamente aprendido hoy , brew services start siempre informa del éxito, incluso cuando httpd no se inicia.

Ejemplo de fallos reportados como éxito:

  • fallo en el arranque httpd porque otra instancia (iniciada fuera de brew ) ya está en marcha;
  • fallo en el arranque httpd debido a un error de sintaxis en un archivo de configuración

Por ejemplo, digamos que pongo deliberadamente algunos caracteres al azar en httpd.conf y correr:

$ sudo brew services restart httpd

Brew informa felizmente del éxito:

==> Successfully stopped `httpd` (label: homebrew.mxcl.httpd)
Warning: Taking root:admin ownership of some httpd paths:
  /usr/local/Cellar/httpd/2.4.41_1/bin
  /usr/local/Cellar/httpd/2.4.41_1/bin/httpd
  /usr/local/opt/httpd
  /usr/local/opt/httpd/bin
  /usr/local/var/homebrew/linked/httpd
This will require manual removal of these paths using `sudo rm` on
brew upgrade/reinstall/uninstall.
==> Successfully started `httpd` (label: homebrew.mxcl.httpd)

Aunque httpd es obviamente no corriendo:

$ sudo ps -A |grep httpd
 9481 ttys000    0:00.01 grep httpd
 (nothing else)

$ sudo lsof -iTCP:80 -sTCP:LISTEN
 (nothing)

¿Qué ocurre? ¿Es un error en brew ?

2voto

GregC Puntos 131

Tratar de depurar los problemas de Apache en cualquier ordenador puede ser difícil, pero sólo hay que saber qué comandos y archivos mirar. En primer lugar, intente iniciar Apache utilizando el comando apachectl y busque errores escritos en la pantalla.

$ sudo apachectl start

Si hay un error en los archivos conf de apache o algún problema del sistema, es posible que lo vea allí.

Además, es necesario revisar el archivo de registro y ver lo que el servicio está escribiendo sobre sí mismo. En el caso de homebrew, el archivo de registro suele llamarse -

/usr/local/var/log/httpd/error_log

A menudo, cuando encuentro que Apache no se inicia, es porque hay un archivo de bloqueo pid que hace que Apache piense que otra instancia ya se está ejecutando y lo verá en el archivo de registro. Elimine el archivo de bloqueo e intente iniciar el servicio de nuevo.

/usr/local/var/run/httpd/httpd.pid

Una nota final, un gran recurso para el uso de homebrew para obtener un entorno LAMP en funcionamiento en OSX es de Andy Miller sobre getgrav.org ( https://getgrav.org/blog/MacOS-catalina-apache-multiple-php-versions ). Siga esas instrucciones y está listo para ir ..

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X