Lionのhttpdエラーログファイルはどこにありますか?


39

MacでApacheがインストールされたローカルWeb(開発)サーバーを実行しています。

私のApache設定に依存していると確信していますが、基本的にtail -f /var/log/httpd-error.logはターミナルで実行したいので、ウェブサイトの開発中に発生したエラーと警告を見ることができます。

だから私の質問は、このログファイルがどこにあるのか、どこにあるのかを見つける方法です /var/log/

回答:


59

モースが指摘したように、デフォルトのMac OS X Apacheインストールの場合、これらは次の場所にあります/var/log/apache2/error_log

場所は、個々の仮想ホストであっても、ErrorLogディレクティブを使用してhttpd設定で変更できます。また、組み込みのApache(MacPortsやMAMPなど)のほかに別のApacheをインストールした場合、これもおそらくあなたにとって異なることに注意してください。その場合、httpd.confまたはインストールに相当するものを確認する必要があります。

tip:Growlがインストールされている場合は、この ' growltail 'スクリプトもご覧ください。常にターミナルに戻る必要なしに、開発中にエラーの通知を受け取ることは素晴らしいことだと思います。


3
lionは、/ var / logのapacheではなくapache2を使用して、Webサーバーのログを含めませんか?また、/ Applications / Utilitiesのコンソールアプリは "Cocoa"ログビューアーですが、/ var / logの内容を確認したり、複数のログを短時間で確認したりする以外のほとんどの開発者にとっては、尾ほど便利ではありません。
bmike

6

である/private/var/log/apache2/error_logあなたが探しているもの?



4

それは通常です/var/log/apache2/error_logが...

apacheがロギングを開始する前発生する可能性のある特定のタイプのエラーがあることに注意してください。Apacheの起動に問題があるようで、新しいエラーがログに記録されない場合は、次のことを試してください。

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

または試す

sudo apachectl -e debug

または、apachectlスクリプトをバイパスして、

sudo httpd -k start

3

上記の回答は、MacにプリインストールされているデフォルトのApacheに最適です。私の場合、Homebrew経由でインストールされたApache(High Sierrra)を使用しています。エラーログを見つけるために使用した手順は次のとおりです。

>ps -ef |grep httpd

これにより、次のような行が出力されます。

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

これにより、httpd実行可能ファイルの場所がわかります。今実行してください:

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

httpd実行可能ファイルの場所に置き換えます。このようなものが得られます(短縮)

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"

それで、「DEFAULT_ERRORLOG」は入っlogs/error_logていますが、何に関連していますか?

「SERVER_CONFIG_FILE」を開きます

そこで、役立つと思われる2つのエントリを見つけました。

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

そのため、場合によっては、DEFAULT_ERRORLOGはServerRootに関連する可能性があります。しかし、私の場合、明示的に指定されたErrorLog(2行目)があり、それが私のエラーの原因です。


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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.