servicio httpd restart / (98) Dirección ya en uso


11

De la nada, no puedo reiniciar apache en mi servidor web CentOS 6.8:

# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:7080
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:7080
no listening sockets available, shutting down
Unable to open logs
                                                           [FAILED]

Intenté muchas cosas que leí en línea, incluida la eliminación de archivos de bloqueo.

Decidí intentar reiniciar el servidor. Después de reiniciar, intentar cargar cualquier sitio web alojado daría como resultado "502 Bad Gateway".

# service httpd status
httpd is stopped

# service httpd start
Starting httpd:                                            [  OK  ]

# service httpd status
httpd dead but subsys locked

A pesar del estado "muerto", ¡ahora puedo cargar sitios web!

A veces, el servicio httpd restart funciona ...

# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

Pero otras veces resulta en el primer error anterior. En cuyo caso puedo arreglarlo con:

# killall -9 httpd
# service httpd start

Así que puedo solucionarlo, pero tengo mucha curiosidad sobre lo que está sucediendo y me pregunto si debería preocuparme.


¿Está lleno su sistema de archivos? Y: cuando aparece el error, ejecuta netstat -tulpeny busca cualquier cosa que escuche en el puerto 7080. Solo ejecutas Apache, ¿verdad? ¿El puerto 7080 no es un error?
Lenniey

tcp 0 0 :::7080 :::* LISTEN 0 5626801 3829/httpd
stevland

Respuestas:


12

Es posible que haya definido su oyente en ese puerto dos veces en sus configuraciones en alguna parte.

Escucha *: 7080

Si ejecuta una prueba de configuración de Apache, dirá que la configuración está bien, hasta que realmente reinicie el servicio, fallará con un error similar al que está viendo.

También verifique que su ubicación de registro exista y sea editable y tenga espacio para escribir, ese mensaje al final es sospechoso.


9

SSH al servidor y ejecute lo siguiente:

setenforce 0

Esto deshabilitará selinux hasta el próximo reinicio

Luego intenta volver a cargar Apache

service httpd restart

Si esto funciona de alguna manera, selinux se activó.

Para deshabilitar permanentemente siga este enlace:

https://kb.plesk.com/en/115626


Por mucho que me encantan las respuestas fáciles, desafortunadamente, no funcionó. :(
stevland

¿Puede ejecutar estos comandos para ver qué está utilizando qué puertos? Agregue salida a la pregunta o pastebin. "netstat -ano | grep 80" "netstat -ano | grep 7080" "cat / etc / services | grep -w 80" "cat / etc / services | grep -w 7080" "nmap localhost | grep 80" "nmap localhost | grep 80 "" nmap localhost "
Anthony Fornito
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.