首頁  >  文章  >  運維  >  Apache伺服器要記錄日誌怎麼辦

Apache伺服器要記錄日誌怎麼辦

(*-*)浩
(*-*)浩原創
2019-11-27 15:09:292963瀏覽

Apache伺服器要記錄日誌怎麼辦

Apache伺服器日誌提供有助於偵測伺服器常見問題的詳細資訊。若要記錄網站的存取日誌,必須啟用mod_log_configmodule。

apache設定檔中有三個指令,分別是 -

TransferLog:建立日誌檔案。          ( 建議學習:Apache伺服器 )

LogFormat:指定自訂格式。

CustomLog:建立和格式化日誌檔案。

TransferLog指令在apache設定檔中可用,它會根據設定參數輪換虛擬主機日誌檔。

VirtualHost www.example.com><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/></VirtualHost><br/>

兩種類型的Apache日誌格式

#通用日誌格式

組合日誌格式

可以透過編輯apache設定檔來啟用它們,即apache2.conf(Debian/ubuntu)或httpd.conf(基於rpm的系統)檔案。

通用日誌格式

LogFormat "%h %l %u %t \"%r\" %>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\" %>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伺服器要記錄日誌怎麼辦

以上是Apache伺服器要記錄日誌怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn