Lion'da httpd hata günlük dosyası nerede?


39

Mac'imde apache yüklü olan yerel bir web (geliştirme) sunucusu çalıştırıyorum.

Apache ayarıma bağlı olduğuna eminim ama temelde sadece tail -f /var/log/httpd-error.logbir terminalde çalışmak istiyorum, böylece web sitelerimin gelişimi sırasında ortaya çıkan hataları ve uyarıları görebiliyorum.

Öyleyse sorum şu ki, bu günlük dosyasının yerleştirilmediği için nereye yerleştirileceğini ve nasıl bulacağımı /var/log/

Yanıtlar:


59

Mörth belirttiği gibi, varsayılan Mac OS X Apache kurulumu için bu bulunur: /var/log/apache2/error_log.

Konum, tek tek sanal konaklar için bile , ErrorLog yönergesi kullanılarak httpd yapılandırmasında değiştirilebilir . Ayrıca, yerleşik olanın yanına başka bir Apache yüklediyseniz (MacPorts veya MAMP aracılığıyla), bunun sizin için de farklı olduğunu unutmayın. Bu durumda kurulumunuz için httpd.conf ya da eşdeğerine bir göz atmalısınız.

tip:Eğer Growl kurulu ise, bu ' growltail ' betiğine de bir göz atın . Her zaman Terminal'e geri dönmeye gerek kalmadan, geliştirme sırasında hatalardan haberdar olmanın harika olduğunu düşünüyorum.


3
Lion apache2'yi kullanmıyor ve web sunucusu günlüklerini içermek için / var / log içinde apache kullanmıyor mu? Ayrıca, / Uygulamalar / Yardımcı Programlar'daki Konsol uygulaması "Kakao" günlük görüntüleyicisidir, ancak çoğu geliştirici için / var / log veya peek içeriğini kısa süreler boyunca birden fazla günlükte keşfetmek kadar kuyruk için kullanışlı değildir.
bmike



4

Normalde /var/log/apache2/error_logama ...

Apache'nin günlüğe kaydedilmesinden önce oluşabilecek bazı hata türlerinin olduğunu ve bu durumun yanlış yere baktığınıza inanmanızı sağlayabilir. Apache'yi başlatmakta sorun yaşıyorsanız ve herhangi bir yeni hata kaydetmiyorsanız, şunu yapmayı deneyin:

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

veya Dene

sudo apachectl -e debug

veya apachectl betiğini atlayın ve sadece deneyin

sudo httpd -k start

3

Yukarıdaki cevaplar, mac'ta önceden yüklenmiş olarak gelen varsayılan apache için mükemmeldir. Benim durumumda, Homebrew aracılığıyla yüklenen Apache'yi (Yüksek Sierrra'da) kullanıyorum. İşte hata günlüğümü bulmak için kullandığım prosedür:

>ps -ef |grep httpd

Bu, şöyle satırları olan bir çıktı verir:

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

Bu, httpd dosyasının çalıştırılabilir konumunu verir. Şimdi koş:

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

Httpd çalıştırılabilir dosyanızın yerine geçiyor. Böyle bir şey alacaksınız (kısaltılmış)

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"

Öyleyse "DEFAULT_ERRORLOG" içeride logs/error_log- ama neye göre?

Şimdi "SERVER_CONFIG_FILE" dosyasını açın

Orada yardımcı olabilecek iki kayıt buldum:

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

Bu nedenle bazı durumlarda DEFAULT_ERRORLOG, ServerRoot ile ilişkili olabilir. Yine de benim durumumda açıkça belirtilen bir ErrorLog vardı (ikinci satır) ve hatalarımın gittiği yer orasıydı.


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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.