Apache服務器要記錄日志怎么辦

Apache服務器要記錄日志怎么辦

apache服務器日志提供有助于檢測服務器常見問題的詳細信息。要記錄網站的訪問日志,必須啟用mod_log_configmodule。

apache配置文件中有三個指令,即 –

TransferLog:創建日志文件。 ? ? ? ? ? ( 推薦學習:Apache服務器?)

LogFormat:指定自定義格式。

CustomLog:創建和格式化日志文件。

TransferLog指令在apache配置文件中可用,它根據設置參數輪轉虛擬主機日志文件。

VirtualHost www.example.com&gt;<br><br>  ServerAdmin webmaster@yiibai.com<br>  DocumentRoot /usr/www/example/httpd/htdocs/<br>  ServerName www.example.com<br>  ServerAlias example.com www.example<br>  ErrorLog /usr/www/example/httpd/logs/error_log<br>  TransferLog /usr/www/example/httpd/logs/accesslog<br>  CustomLog /usr/www/example/httpd/logs/accesslog combined<br><br><br>

兩種類型的Apache日志格式

通用日志格式

組合日志格式

可以通過編輯apache配置文件來啟用它們,即apache2.conf(Debian/ubuntu)或httpd.conf(基于rpm的系統)文件。

通用日志格式

LogFormat "%h %l %u %t "%r" %&gt;s %b" common<br>CustomLog logs/access_log.log common<br>

Apache生成的通用日志內容示例如下?

[Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1] client denied by server configuration: /export/home/live/ap/htdocs/test<br>

組合日志格式

LogFormat "%h %l %u %t "%r" %&gt;s %b "%{Referer}i" "%{User-agent}i"" combined<br>CustomLog log/access_log.log combined<br>

在上面格式中,

%h是遠程主機

%l是由identd確定的用戶的身份

%u是HTTP身份驗證確定的用戶名

%t是服務器處理完請求的時間。

%r是來自客戶端的請求行(“GET/HTTP/1.0”)。

%> s是從服務器發送到客戶端的狀態代碼(500,404等)

%b是客戶端響應的大小(以字節為單位)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)"<br>

自定義日志為服務器上的每個虛擬主機創建單獨的日志文件。它需要在配置文件的虛擬主機部分中指定。

可以看到下面提到的虛擬主機配置,生成的日志將為該虛擬主機自定義,并且將組合格式。

Apache服務器要記錄日志怎么辦

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享