Linux有問必答:Linux上Apache錯誤日誌的位置在哪裡?
![](https://linuxstory.org/wp-content/uploads/2024/06/072012ngyjhs11fwfsz80g.jpg)
Debian,Ubuntu或Linux Mint上的Apache錯誤日誌位置
默認的錯誤日誌
在基於Debian的Linux上,系統範圍的Apache錯誤日誌默認位置是/var/log/apache2/error.log。默認位置可以通過編輯Apache的配置文件進行修改。
自定義的錯誤日誌
要找到自定義的錯誤日誌位置,請用文本編輯器打開 /etc/apache2/apache2.conf,然後查找以 ErrorLog 開頭的行,該行指定了自定義的 Apache 錯誤日誌文件的位置。例如,在未經修改的 Apache 配置文件中可以找到以下行:
ErrorLog ${APACHE_LOG_DIR}/error.log
在本例中,該位置使用 APACHELOGDIR 環境變數進行配置,該變數在 /etc/apache2/envvars 中已被定義。
export APACHE_LOG_DIR=/var/log/apache2$SUFFIX
在實際情況中, ErrorLog 可能會指向你 Linux 系統中任意路徑。
使用虛擬主機自定義的錯誤日誌
如果在 Apache Web 伺服器中使用了虛擬主機, ErrorLog 指令可能會在虛擬主機容器內指定,在這種情況下,上面所說的系統範圍的錯誤日誌位置將被忽略。
啟用了虛擬主機後,各個虛擬主機可以定義其自身的自定義錯誤日誌位置。要找出某個特定虛擬主機的錯誤日誌位置,你可以打開 /etc/apache2/sites-enabled/.conf,然後查找 ErrorLog 指令,該指令會顯示站點指定的錯誤日誌文件。
CentOS,Fedora或RHEL上的Apache錯誤日誌位置
默認的錯誤日誌
在基於 Red Hat 的Linux中,系統範圍的 Apache 錯誤日誌文件默認被放置在/var/log/httpd/error_log。該默認位置可以通過修改 Apache 配置文件進行自定義。
自定義的錯誤日誌
要找出 Apache 錯誤日誌的自定義位置,請用文本編輯器打開 /etc/httpd/conf/httpd.conf,然後查找 ServerRoot,該參數顯示了 Apache Web 伺服器目錄樹的頂層,日誌文件和配置都位於該目錄樹中。例如:
ServerRoot "/etc/httpd"
現在,查找 ErrorLog 開頭的行,該行指出了 Apache Web 伺服器將錯誤日誌寫到了哪裡去。注意,指定的位置是 ServerRoot 值的相對位置。例如:
ErrorLog "log/error_log"
結合上面的兩個指令,可以獲得完整的錯誤日誌路徑,默認情況下該路徑就是 /etc/httpd/logs/errorlog。在全新安裝的Apache中,這是一個到 /var/log/httpd/errorlog 的符號鏈接。
在實際情況中, ErrorLog 可能指向你 Linux 系統中的任意位置。
使用虛擬主機自定義的錯誤日誌
如果你啟用了虛擬主機,你可以通過檢查 /etc/httpd/conf/httpd.conf(或其它任何定義了虛擬主機的文件)來找到各個虛擬主機的錯誤日誌位置。在獨立的虛擬主機部分查找 ErrorLog。如,在下面的虛擬主機部分,錯誤日誌的位置是 /var/www/xmodulo.com/logs/error_log。
<VirtualHost *:80>
ServerAdmin webmaster@xmodulo.com
DocumentRoot /var/www/xmodulo.com/public_html
ServerName www.xmodulo.com
ServerAlias xmodulo.com
ErrorLog /var/www/xmodulo.com/logs/error_log
CustomLog /var/www/xmodulo.com/logs/access_log
<VirtualHost>
via: http://ask.xmodulo.com/apache-error-log-location-linux.html
作者:Dan Nanni 譯者:GOLinux 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive