serviço httpd restart / (98) Endereço já em uso

11

Do nada, não consigo reiniciar o apache no meu 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]

Eu tentei várias coisas que li online, incluindo a remoção de arquivos de bloqueio.

Eu decidi tentar reiniciar o servidor. Após a reinicialização, a tentativa de carregar qualquer site hospedado resultaria em "502 Bad Gateway".

# service httpd status
httpd is stopped

# service httpd start
Starting httpd:                                            [  OK  ]

# service httpd status
httpd dead but subsys locked

Apesar do status "morto", agora posso carregar sites!

Às vezes, a reinicialização do serviço httpd funciona ...

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

Mas outras vezes resulta no primeiro erro acima. Nesse caso, posso corrigi-lo com:

# killall -9 httpd
# service httpd start

Para que eu possa resolver o problema, mas estou realmente curioso sobre o que está acontecendo e me perguntando se devo me preocupar.

Stevland
fonte
O seu sistema de arquivos está cheio? E: quando o erro surgir, execute netstat -tulpene procure por qualquer coisa que esteja ouvindo na porta 7080. Você executa apenas o apache, certo? A porta 7080 não é um erro?
Lenniey
tcp 0 0 :::7080 :::* LISTEN 0 5626801 3829/httpd
Stevland

Respostas:

12

Você pode ter definido seu ouvinte nessa porta duas vezes em suas configurações em algum lugar.

Escute *: 7080

Se você executar um teste de configuração do Apache, ele dirá que a configuração está OK, até que você realmente reinicie o serviço, ele falhará com um erro semelhante ao que você está vendo.

Verifique também se o seu local de log existe, é gravável e tem espaço para gravar, se a mensagem no final é suspeita.

Jeff W.
fonte
9

SSH para o servidor e execute o seguinte:

setenforce 0

Isso desativará o selinux até a próxima reinicialização

Em seguida, tente recarregar o Apache

service httpd restart

Se isso funcionar de alguma forma, o selinux foi ativado.

Para desativar permanentemente, siga este link:

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

Anthony Fornito
fonte
Por mais que eu goste de respostas fáceis, infelizmente não funcionou. :(
stevland
Você pode executar esses comandos para ver o que está usando quais portas. Por favor, adicione a saída à questão ou 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 06/12/16