題:
Lion上的httpd錯誤日誌文件在哪裡?
FLY
2012-02-17 17:18:59 UTC
view on stackexchange narkive permalink

我正在安裝了apache的Mac上運行本地Web(開發)服務器。

我確定這取決於我的apache配置,但基本上我只想運行 tail-在終端中訪問/var/log/httpd-error.log ,這樣我就可以看到在開發網站期間出現的錯誤和警告。

所以我的問題是在哪里或如何做我找到了此日誌文件的放置位置,因為它沒有放置在 / var / log /

六 答案:
Gerry
2012-02-17 17:52:07 UTC
view on stackexchange narkive permalink

正如morth所指出的,對於默認的Mac OS X Apache安裝,它們位於: / var / log / apache2 / error_log

可以在以下位置更改位置使用 ErrorLog指令的httpd配置,即使對於單個虛擬主機也是如此。還要注意,如果您安裝了除內置Apache之外的另一個Apache(例如通過MacPorts或MAMP),那麼這也可能與您有所不同。在這種情況下,您應該查看一下安裝的httpd.conf或等效文件。

提示:如果您已安裝Growl,也請查看此' growltail”腳本。我認為在開發過程中收到有關錯誤的通知非常好,而無需始終切換回終端。

獅子不使用apache2而不在/ var / log中使用apache來包含Web服務器日誌嗎?另外,/ Applications / Utilities中的Console應用程序是“ Cocoa”日誌查看器,但是對於大多數開發人員而言,它不像尾巴方便,除了可以瀏覽/ var / log的內容或在短時間內瀏覽多個日誌。
Witt
2018-02-27 00:24:21 UTC
view on stackexchange narkive permalink

以上答案對於Mac上預裝的默認Apache很有用。就我而言,我正在使用通過Homebrew安裝的Apache(在High Sierrra上)。這是我用來定位錯誤日誌的過程:

  >ps -ef | grep httpd
 

這給出了帶有如下行的輸出:

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

這使您可以找到httpd可執行文件的位置。現在運行:

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

替換為httpd可執行文件的位置。您會得到這樣的(縮短)

 服務器使用...編譯。
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6(啟用了IPv4映射的地址)
 -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 =“日誌/錯誤日誌”
 -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”

在那裡,我發現了兩個條目可能會有所幫助:

  ServerRoot“ / usr / local / opt / httpd”
ErrorLog“ / usr / local / var / log / httpd / error_log”
 

因此,在某些情況下,DEFAULT_ERRORLOG可能是相對於ServerRoot的。在我的情況下,有一個明確指定的ErrorLog(第二行),這就是我的錯誤所在。

這正是我所需要的。謝謝威特!
m0rth1um
2012-02-17 17:43:43 UTC
view on stackexchange narkive permalink

您要查找的是 / private / var / log / apache2 / error_log 嗎?

Holger von Ameln
2012-02-17 17:41:47 UTC
view on stackexchange narkive permalink

錯誤日誌位於:/var/log/apache2/error.log

這是針對Lion ...

Harry Wood
2013-12-03 22:52:37 UTC
view on stackexchange narkive permalink

通常是 / var / log / apache2 / error_log ,但是...

請注意,在Apache開始記錄之前,可能會發生某些類型的錯誤 strong>,這可能會使您認為自己在錯誤的位置。如果您似乎在啟動apache時遇到問題,並且沒有記錄任何新錯誤,請嘗試執行以下操作:

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

或嘗試

  sudo apachectl -e調試 

或繞過apachectl腳本並嘗試

  sudo httpd -k start  
Jack D You
2013-11-29 12:25:06 UTC
view on stackexchange narkive permalink
 #/ usr / sbin / httpd -V服務器版本:Apache / 2.2.24(Unix)服務器內部版本:2013年8月24日21:10:43服務器模塊編號:20051115:31服務器已加載:APR 1.4.5, APR-Util 1.3.12編譯使用:APR 1.4.5,APR-Util 1.3.12體系結構:64位服務器MPM:預分叉線程:否分叉:是(可變進程數)服務器使用...編譯-D APACHE_MPM_DIR =“ server / MPM / prefork的“-D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6(啟用IPv4映射地址)-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。鎖定” -D DEFAULT_ERRORLOG =“ logs / error_log” -D AP_TYPES_CONFIG_FILE =“ / private / etc / apache2 / mime.types” -D SERVER_CONFIG_FILE =“ / private / etc / apache2 / h ttpd.conf“ #find / -name error_log  


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...