Dove si trova il file di registro degli errori httpd su Lion?


39

Sto eseguendo un server Web (di sviluppo) locale sul mio Mac con Apache installato.

Sono sicuro che dipende dalla mia configurazione di Apache ma fondamentalmente voglio solo correre tail -f /var/log/httpd-error.login un terminale in modo da poter vedere l'errore e gli avvisi che si verificano durante lo sviluppo dei miei siti Web.

Quindi la mia domanda è dove o come trovo dove si trova questo file di registro poiché non è inserito /var/log/

Risposte:


59

Come morth ha sottolineato, per l'installazione di default di Mac OS X Apache questi si trovano in: /var/log/apache2/error_log.

La posizione può essere modificata nella configurazione httpd usando la direttiva ErrorLog , anche per singoli host virtuali. Nota anche che se hai installato un altro Apache oltre a quello integrato (come tramite MacPorts o MAMP), probabilmente questo è diverso anche per te. In tal caso dovresti dare un'occhiata a httpd.conf o equivalente per la tua installazione.

tip:Se hai installato Growl, dai un'occhiata anche a questo script ' growltail '. Penso che sia fantastico essere avvisati degli errori durante lo sviluppo, senza dover tornare al Terminale continuamente.


3
Lion non usa apache2 e non apache in / var / log per contenere i log del server web? Inoltre, l'app Console in / Applicazioni / Utility è il visualizzatore di registri "Cocoa", ma non è utile come la coda per la maggior parte degli sviluppatori se non per esplorare il contenuto di / var / log o sbirciare più registri per brevi periodi.
bmike

6

È /private/var/log/apache2/error_logquello che stai cercando?



4

Normalmente /var/log/apache2/error_logma ...

Nota che ci sono alcuni tipi di errori che possono verificarsi prima che apache inizi a registrare , il che potrebbe farti credere che stai cercando nel posto sbagliato. Se sembra che tu abbia problemi ad avviare apache e non stia registrando nuovi errori, prova a fare:

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

o prova

sudo apachectl -e debug

o ignora lo script apachectl e prova solo

sudo httpd -k start

3

Le risposte sopra funzionano alla grande per l'apache predefinito che viene preinstallato sul Mac. Nel mio caso, sto usando Apache (su High Sierrra) installato tramite Homebrew. Ecco la procedura che ho usato per individuare il mio registro errori:

>ps -ef |grep httpd

Questo dà un output con linee come questa:

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

Questo ti dà la posizione dell'eseguibile httpd. Ora esegui:

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

Sostituendo nella posizione dell'eseguibile httpd. Otterrai qualcosa del genere (abbreviato)

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"

Quindi il "DEFAULT_ERRORLOG" è in logs/error_log- ma rispetto a cosa?

Ora apri "SERVER_CONFIG_FILE"

Lì ho trovato due voci che potrebbero essere utili:

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

Quindi in alcuni casi DEFAULT_ERRORLOG potrebbe essere relativo a ServerRoot. Nel mio caso, però, c'era un ErrorLog esplicitamente specificato (seconda riga) ed è qui che stanno andando i miei errori.


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
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.