service httpd restart / (98) Indirizzo già in uso


11

All'improvviso, non riesco a riavviare apache sul mio server 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]

Ho provato un sacco di cose che ho letto online, inclusa la rimozione di file di blocco.

Ho deciso di provare a riavviare il server. Dopo il riavvio, il tentativo di caricare qualsiasi sito Web ospitato comporterebbe "502 Gateway non valido".

# service httpd status
httpd is stopped

# service httpd start
Starting httpd:                                            [  OK  ]

# service httpd status
httpd dead but subsys locked

Nonostante lo stato "morto", ora posso caricare siti Web!

A volte il servizio di riavvio httpd funziona ...

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

Ma altre volte provoca il primo errore sopra. Nel qual caso posso risolverlo con:

# killall -9 httpd
# service httpd start

Quindi posso aggirare il problema, ma sono davvero curioso di sapere cosa sta succedendo e mi chiedo se dovrei preoccuparmi.


Il tuo filesystem è pieno? E: quando viene visualizzato l'errore, esegui netstat -tulpene cerca qualcosa in ascolto sulla porta 7080. Esegui solo apache, giusto? La porta 7080 non è un errore?
Lenniey,

tcp 0 0 :::7080 :::* LISTEN 0 5626801 3829/httpd
Stevland,

Risposte:


12

Potresti aver definito il tuo ascoltatore su quella porta due volte nelle tue configurazioni da qualche parte.

Ascolta *: 7080

Se esegui un test di configurazione di Apache, ti verrà indicato che la configurazione è OK, fino a quando non riavvierai effettivamente il servizio, fallirà con un errore simile a quello che stai vedendo.

Verifica anche che la posizione di registrazione esista, sia scrivibile e abbia spazio per scrivere, quel messaggio alla fine è sospetto.


9

SSH sul server ed eseguire quanto segue:

setenforce 0

Questo disabiliterà selinux fino al prossimo riavvio

Quindi prova a ricaricare Apache

service httpd restart

Se funziona in qualche modo selinux è stato acceso.

Per disabilitare permanentemente segui questo link:

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


Per quanto adoro le risposte facili, purtroppo non ha funzionato. :(
Stevland,

Puoi eseguire questi comandi per vedere cosa sta usando quali porte. Aggiungi l'output alla domanda o incolla. "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,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.