A melhor maneira de solucionar problemas do apache não é iniciado?

8

Recentemente, obtivemos um servidor de backup para espelhar todos os nossos dados para o caso de o servidor principal ficar inativo.

Eu obtive todos os dados dos sites atualizados através do rsync, e todas as configurações e bancos de dados do apache foram atualizados. Ambas as máquinas estão no Ubuntu 9 (9.04 no primário, 9.10 no backup).

Assim, tudo parece estar sincronizado na maior parte neste momento (ainda preciso descobrir a sincronização do usuário) e eu tento iniciar o Apache. Eu recebo

* Starting web server apache2                                       [fail]

Nada mais indicando qual poderia ser o problema.

Eu sei que não tenho informações suficientes para esperar uma solução de vocês, então gostaria apenas de saber para onde posso ir daqui para investigar o problema. Haveria algum log de erros para isso?

Obrigado!

    
por Lowgain 10.06.2010 / 23:22

5 respostas

11

Em alguns casos específicos, uma entrada de log não será gravada no disco - isso pode ocorrer se os logs não existirem, por exemplo, ou o Apache simplesmente não pode gravar nos arquivos de log devido a problemas de permissões, etc. casos, a melhor maneira de diagnosticar um erro é usar 'strace':

[root@server ~]# strace -Ff apachectl start

Embora a saída seja bastante detalhada, se o Apache não iniciar por algum motivo, você verá um write () no final com o conteúdo do que seria inserido nos logs com o motivo de ele estar falhando (se não estiver registrando o porquê no log de erros, não se surpreenda se a mensagem de erro contiver "Não é possível abrir o log" com o caminho para o log;).

Apesar de olhar seu comentário sobre o mod_fcgid, eu sugiro rever a configuração do Apache e examinar as referências ao mod_fcgid - parece que ele está tentando abrir um arquivo literal "mod_fcgid" em vez de carregar o módulo.

    
por 12.06.2010 / 16:16
10

httpd -t testará a sintaxe de seus arquivos de configuração e emitirá erros no terminal.

    
por 12.06.2010 / 17:35
3

Quaisquer erros devem ser impressos nos logs de erros (geralmente em / var / log / http / error_logs. O Grep for ErrorLog no seu httpd.conf para descobrir onde.

Eu recomendo usar duas janelas. Faça um 'tail -f error_log' em uma janela e use outra janela para executar o comando 'apachectl restart'. Depois de encontrar o erro, atualize sua resposta aqui com a mensagem de erro.

    
por 11.06.2010 / 00:01
1

Eu tive um problema semelhante com o depurador do servidor apache no Mac OS, então decidi compartilhar minha experiência e salvar outros algum tempo Eu achei o seguinte muito útil:

  1. localize registros:

apachectl -S | grep log

  1. na saída, você encontrará alguns arquivos de registros que você pode começar a procurar pelo exemplo de erros:

tail -n 15 /var/log/apache2/ssl_engine.log

No caso de haver mais de um arquivo de log, continue seguindo-os até encontrar o erro que faz com que o apache não inicie

    
por 22.03.2018 / 11:43
0

Se o seu Apache não estiver rodando, verifique sua porta skype, na maioria das vezes o Skype e o Apache usam a porta 80, e isso significa que o Skype pode ser o motivo pelo qual o Apache não pode ser iniciado. pare o skype se ele estiver instalado.

    
por 01.07.2017 / 20:29