我正在安裝了apache的Mac上運行本地Web(開發)服務器。
我確定這取決於我的apache配置,但基本上我只想運行 tail-在終端中訪問/var/log/httpd-error.log
,這樣我就可以看到在開發網站期間出現的錯誤和警告。
所以我的問題是在哪里或如何做我找到了此日誌文件的放置位置,因為它沒有放置在 / var / log /
我正在安裝了apache的Mac上運行本地Web(開發)服務器。
我確定這取決於我的apache配置,但基本上我只想運行 tail-在終端中訪問/var/log/httpd-error.log
,這樣我就可以看到在開發網站期間出現的錯誤和警告。
所以我的問題是在哪里或如何做我找到了此日誌文件的放置位置,因為它沒有放置在 / var / log /
正如morth所指出的,對於默認的Mac OS X Apache安裝,它們位於: / var / log / apache2 / error_log
。
可以在以下位置更改位置使用 ErrorLog指令的httpd配置,即使對於單個虛擬主機也是如此。還要注意,如果您安裝了除內置Apache之外的另一個Apache(例如通過MacPorts或MAMP),那麼這也可能與您有所不同。在這種情況下,您應該查看一下安裝的httpd.conf或等效文件。
提示:
如果您已安裝Growl,也請查看此' growltail”腳本。我認為在開發過程中收到有關錯誤的通知非常好,而無需始終切換回終端。
以上答案對於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(第二行),這就是我的錯誤所在。
您要查找的是 / private / var / log / apache2 / error_log
嗎?
通常是 / var / log / apache2 / error_log
,但是...
請注意,在Apache開始記錄之前,可能會發生某些類型的錯誤 strong>,這可能會使您認為自己在錯誤的位置。如果您似乎在啟動apache時遇到問題,並且沒有記錄任何新錯誤,請嘗試執行以下操作:
sudo bash -x / usr / sbin / apachectl -k start
或嘗試
sudo apachectl -e調試
或繞過apachectl腳本並嘗試
sudo httpd -k start
#/ 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