如何啟用Apache服務器記錄日志?針對這個問題,今天小編總結這篇有關Apache服務器的文章,希望幫助更多想用Apache服務器記錄日志的同學找到更加簡單易行的辦法。
Apache服務器日志提供有助于檢測服務器常見問題的詳細信息。要記錄網(wǎng)站的訪問日志,必須啟用mod_log_configmodule。
apache配置文件中有三個指令,即 -
TransferLog:創(chuàng)建日志文件。
LogFormat:指定自定義格式。
CustomLog:創(chuàng)建和格式化日志文件。
TransferLog指令在apache配置文件中可用,它根據(jù)設置參數(shù)輪轉虛擬主機日志文件。
VirtualHost www.example.com>
ServerAdmin webmaster@yiibai.com
DocumentRoot /usr/www/example/httpd/htdocs/
ServerName www.example.com
ServerAlias example.com www.example
ErrorLog /usr/www/example/httpd/logs/error_log
TransferLog /usr/www/example/httpd/logs/accesslog
CustomLog /usr/www/example/httpd/logs/accesslog combined
</VirtualHost>
兩種類型的Apache日志格式
通用日志格式
組合日志格式
可以通過編輯apache配置文件來啟用它們,即apache2.conf(Debian/ubuntu)或httpd.conf(基于rpm的系統(tǒng))文件。
通用日志格式
LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog logs/access_log.log common
Apache生成的通用日志內(nèi)容示例如下
[Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1] client denied by server configuration: /export/home/live/ap/htdocs/test
組合日志格式
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
CustomLog log/access_log.log combined
在上面格式中,
%h是遠程主機
%l是由identd確定的用戶的身份
%u是HTTP身份驗證確定的用戶名
%t是服務器處理完請求的時間。
%r是來自客戶端的請求行(“GET/HTTP/1.0”)。
%> s是從服務器發(fā)送到客戶端的狀態(tài)代碼(500,404等)
%b是客戶端響應的大小(以字節(jié)為單位)Referer是鏈接到此URL的頁面。
用戶代理是瀏覽器標識字符串。
Apache生成的組合日志:
199.180.11.91 - - [06/Mar/2019:04:22:58 +0100] "GET /robots.txt HTTP/1.1" 404 1228 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)"
云專線將網(wǎng)絡解耦為核心網(wǎng)絡、邊緣網(wǎng)絡、最后1km三部分。用戶可根據(jù)使用情況,靈活配置核心網(wǎng)絡、邊緣網(wǎng)絡、最后1km帶寬。打破了傳統(tǒng)帶寬利用率不均衡問題,造成的高成本問題。
自定義日志為服務器上的每個虛擬主機創(chuàng)建單獨的日志文件。它需要在配置文件的虛擬主機部分中指定。