Tive alguns problemas ao reiniciar o Apache com 2.000 hosts virtuais.
Eu uso Apache 2.2.22 + PHP 5.4.6 no CentOS 5.8 de 64 bits.
Quando tento reiniciar ele exibe isso:
/etc/init.d/httpd restart
Stopping httpd: [FAILED]
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
[FAILED]
Quando eu faço killall -9 httpd
isso ok por um tempo e depois acontece de novo :/
Responder1
Parece-me que o Apache não estava em execução, pelo menos não no PID sob o qual o script de inicialização o iniciou. Verifique (ou forneça aqui) a saída de "ps auxwww".
Minha intuição mais forte diz que o processo raiz do seu apache está morrendo, deixando os filhos vivos e ouvindo na porta 80. Nesse caso, procure no log de erros do apache e nos logs do sistema para ver o que está matando o processo raiz.
Outras possibilidades: você pode ter outra coisa iniciando o apache manualmente fora do script init, ou alguma outra coisa pode estar escutando na porta 80 (mas isso não explicaria por que killall -9 httpd funciona).
Responder2
Foi um problema de pacote. Eu tenho o httpd do repositório webtactic. Mudei para o do Lxcenter e está funcionando muito bem ;)