Apache-2.2
apache 錯誤和訪問日誌失去,可能是什麼原因以及如何重新創建它們?
我的任務是了解為什麼 2 個執行 apache 2.2.3 的 CentOS Web 伺服器在特定場合會遇到非常高的負載。我檢查的第一件事是,
/var/log/messages
但後來我意識到 rsyslog 出於某種原因已關閉,所以我啟動它並使用chkconfig
. 然後,我想檢查 apache 錯誤並訪問日誌,所以我瀏覽到/var/log/httpd
但發現該文件夾是空的。我檢查/etc/httpd/conf/httpd.conf
並看到了這些行:ErrorLog logs/error_log CustomLog logs/access_log combined
據我所知,它指的是
/var/log/httpd/
但正如之前所說的文件夾是空的。在寫這個問題時,我在伺服器上查找了 httpd 版本並執行httpd -v
,這就是我得到的響應:[root@domU-IP httpd]# httpd -v Server version: Apache/2.2.3 Server built: May 4 2011 06:51:15 Unable to open logs
我的問題是:
- 什麼可能導致日誌消失?(有可能它們一開始就沒有被創造出來)
- 如何重新創建日誌並確保將數據寫入其中?
- 應該設置哪些權限
/var/log/httpd
?目前的權限是:drwx------ 2 root root
提前致謝
當 Apache 配置中的路徑引用不是絕對的(即不以 開頭
/
)時,它們相對於ServerRoot
指令中設置的目錄。一個常見的預設設置ServerRoot
是/etc/httpd
創建/etc/httpd/logs
您的日誌目錄。大多數打包的 Apache 版本都會創建一個從
/etc/httpd/logs
到的符號連結/var/log/httpd
。/etc/httpd 中的實際目錄失去(或根文件系統已滿)或您的設置中可能缺少符號連結。Apache 由 root 啟動,並在刪除權限之前以 root 身份打開日誌文件,因此 /var/log/httpd 上的目錄權限似乎是正確的。