Onde está o arquivo de log de erros httpd no Lion?


39

Estou executando um servidor web (desenvolvimento) local no meu mac com o apache instalado.

Tenho certeza de que depende da minha configuração do apache, mas basicamente só quero rodar tail -f /var/log/httpd-error.logem um terminal para poder ver os erros e avisos que ocorrem durante o desenvolvimento dos meus sites.

Portanto, minha pergunta é onde ou como localizo onde esse arquivo de log é colocado, pois não é colocado em /var/log/

Respostas:


59

Como morth apontou, para a instalação padrão do Mac OS X Apache estes estão localizados em: /var/log/apache2/error_log.

O local pode ser alterado na configuração do httpd usando a diretiva ErrorLog , mesmo para hosts virtuais individuais. Observe também que, se você instalou outro Apache além do embutido (como o MacPorts ou o MAMP), provavelmente isso também é diferente para você. Nesse caso, você deve dar uma olhada no httpd.conf ou equivalente para sua instalação.

tip:Se você tiver o Growl instalado, consulte também este script ' growltail '. Eu acho ótimo receber notificações de erros durante o desenvolvimento, sem precisar voltar ao Terminal o tempo todo.


3
O lion não usa apache2 e não apache em / var / log para conter os logs do servidor web? Além disso, o aplicativo Console em / Aplicativos / Utilitários é o visualizador de log "Cocoa", mas não é tão útil quanto a maioria dos desenvolvedores, além de explorar o conteúdo de / var / log ou espiar vários logs por breves períodos.
bmike

6

É o /private/var/log/apache2/error_logque você está procurando?


5

O log de erros está localizado em: /var/log/apache2/error.log

Isto é para Lion ...


4

Normalmente, /var/log/apache2/error_logmas ...

Observe que existem certos tipos de erros que podem ocorrer antes do apache iniciar o log , o que pode levar você a acreditar que está procurando no lugar errado. Se você está tendo problemas para iniciar o apache e não está registrando nenhum novo erro, tente:

sudo bash -x /usr/sbin/apachectl -k start

ou tente

sudo apachectl -e debug

ou ignorar o script apachectl e tente apenas

sudo httpd -k start

3

As respostas acima funcionam muito bem para o apache padrão que vem pré-instalado no mac. No meu caso, estou usando o Apache (no High Sierrra) instalado via Homebrew. Aqui está o procedimento que eu usei para localizar meu log de erros:

>ps -ef |grep httpd

Isso fornece uma saída com linhas como esta:

502 10587 10586   0 11:11AM ??         0:00.00 /usr/local/opt/httpd/bin/httpd -k start

Isso fornece a localização do executável httpd. Agora execute:

>/usr/local/opt/httpd/bin/httpd -V

Substituindo no local do seu executável httpd. Você terá algo parecido com isto (abreviado)

Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/usr/local/Cellar/httpd/2.4.29_1"
 -D SUEXEC_BIN="/usr/local/opt/httpd/bin/suexec"
 -D DEFAULT_PIDLOG="/usr/local/var/run/httpd/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="/usr/local/etc/httpd/mime.types"
 -D SERVER_CONFIG_FILE="/usr/local/etc/httpd/httpd.conf"

Portanto, o "DEFAULT_ERRORLOG" está em logs/error_log- mas em relação a quê?

Agora abra o "SERVER_CONFIG_FILE"

Lá, encontrei duas entradas que podem ser úteis:

ServerRoot "/usr/local/opt/httpd"
ErrorLog "/usr/local/var/log/httpd/error_log"

Portanto, em alguns casos, o DEFAULT_ERRORLOG pode ser relativo ao ServerRoot. No entanto, no meu caso, havia um ErrorLog especificado explicitamente (segunda linha) e é para onde meus erros estão indo.


0
#/usr/sbin/httpd -V
Server version: Apache/2.2.24 (Unix)
Server built:   Aug 24 2013 21:10:43
Server's Module Magic Number: 20051115:31
Server loaded:  APR 1.4.5, APR-Util 1.3.12
Compiled using: APR 1.4.5, APR-Util 1.3.12
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_FLOCK_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/usr"
 -D SUEXEC_BIN="/usr/bin/suexec"
 -D DEFAULT_PIDLOG="/private/var/run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="/private/var/run/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="/private/etc/apache2/mime.types"
 -D SERVER_CONFIG_FILE="/private/etc/apache2/httpd.conf"

#find / -name error_log
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.