¿Qué podemos hacer si de repente Apache (httpd) no quiere reiniciarse y nos aparece el error «(98)Address already in use: make_sock: could not bind to address [::]:80 no listening sockets available, shutting down»?
También nos puede aparecer el puerto 443 en este error. Lo que nos quiere decir este error es que hay otro proceso usando el puerto 443 (80) y que Apache no puede iniciarse en este puerto.
Probablemente, sea el mismo proceso de Apache que no se ha cerrado correctamente y al intentar iniciarlo de nuevo, es incapaz de hacerlo al estar su puerto reservado…
¿Solución a este problema para reiniciar Apache en nuestro servidor?
Lo primero que hay que hacer es encontrar el proceso que esta ocupando el puerto de Apache. Accedemos mediante la consola ssh a nuestro servidor y ejecutamos el siguiente comando:
/usr/sbin/lsof -i | grep http
Obtendremos algo como esto:
httpd 8427 apache 4u IPv4 TCP *:http (LISTEN)
Ahora sabemos que hay un proceso con un PID «8427» (el propio Apache), ocupando el puerto.
Ahora lo que tenemos que hacer es «matar» ese proceso PID con el siguiente comando:
sudo kill -9 8427
Reiniciamos Apache con el comando (CENTOS):
/sbin/service httpd restart
Y problema solucionado. Ya tenemos Apache de nuevo en funcionamiento en nuestro servidor.
gracias por tu publicación, me ocurrio el mismo problema que tu describes al apagar fisicamente un servidor ubuntu.