1. 程式人生 > >11.22-11.24訪問日誌不記錄靜態文件,訪問日誌切割,靜態元素過期時間

11.22-11.24訪問日誌不記錄靜態文件,訪問日誌切割,靜態元素過期時間

靜態元素 不記錄

11.22 訪問日誌不記錄靜態文件

11.23 訪問日誌切割

11.24 靜態元素過期時間

擴展
apache日誌記錄代理IP以及真實客戶端IP 技術分享圖片http://ask.apelearn.com/question/960
apache只記錄指定URI的日誌 技術分享圖片http://ask.apelearn.com/question/981
apache日誌記錄客戶端請求的域名 技術分享圖片http://ask.apelearn.com/question/1037
apache 日誌切割問題 技術分享圖片http://ask.apelearn.com/question/566


11.22 訪問日誌不記錄靜態文件

技術分享圖片

一個網站會有很多元素,尤其是圖片、js、css等靜態文件非常多,用戶每請求一個頁面就會訪問諸多的圖片,js等靜態元素,這些元素的請求都會被記錄在日誌中。

如果一個站點訪問量很大,那訪問日誌文件會慢慢的變大很大,從而影響服務器的的磁盤空間,甚至還會影響磁盤的讀寫速度。

這些靜態元素記錄在日誌文件裏意義不大,所以可以限制這些靜態元素去記錄日誌,並且需要把日誌按天歸檔,一天一個日誌,這樣也可以防止單個日誌文件過大。


配置如下,在Customlog上面定義如下參數:


SetEnvIf Request_URI ".*\.gif$" img

SetEnvIf Request_URI ".*\.jpg$" img

SetEnvIf Request_URI ".*\.png$" img

SetEnvIf Request_URI ".*\.bmp$" img

SetEnvIf Request_URI ".*\.swf$" img

SetEnvIf Request_URI ".*\.js$" img

SetEnvIf Request_URI ".*\.css$" img

CustomLog "logs/111.com-access_log" combined env=!img


技術分享圖片

SetEnvIf Request_URI ".*\.gif$" img

".*"\.gif 這種是正則表達式的表示方法,他們都是代指img文件。

解釋:

先定義了一個img環境變量,把gif,jpg,png等等格式的文件歸類到image裏

env=!img 意思是把img以外的類型文件記錄在日誌裏。


接著,

重新加載配置文件 -t, graceful


curl -x訪問測試

#curl -x127.0.0.1:80 111.com/222 -I

#curl -x127.0.0.1:80 111.com/11.jpg -I

#curl -x127.0.0.1:80 111.com/111 -I

查看日誌,jpg格式沒被記錄

#tail /usr/local/apache2.4/logs/111.com-access_log

127.0.0.1 - - [16/Apr/2018:17:51:08 +0800] "HEAD HTTP://111.com/222 HTTP/1.1" 404 - "-" "curl/7.29.0"

127.0.0.1 - - [16/Apr/2018:17:51:09 +0800] "HEAD HTTP://111.com/222 HTTP/1.1" 404 - "-" "curl/7.29.0"

127.0.0.1 - - [16/Apr/2018:17:51:41 +0800] "HEAD HTTP://111.com/111 HTTP/1.1" 404 - "-" "curl/7.29.0"


模擬圖片測試

在本機上存圖片

[root@AliKvn 111.com]# rz

[root@AliKvn 111.com]# ls

123.php baidu.png index.php


curl -x請求訪問圖片

[root@AliKvn 111.com]# curl -x127.0.0.1:80 111.com/baidu.png -I

HTTP/1.1 200 OK

Date: Mon, 16 Apr 2018 10:04:32 GMT

Server: Apache/2.4.33 (Unix) PHP/5.6.30

Last-Modified: Wed, 21 Jun 2017 01:14:24 GMT

ETag: "38bc-5526e16aefc00"

Accept-Ranges: bytes

Content-Length: 14524

Content-Type: image/png

瀏覽器訪問圖片

技術分享圖片

查看訪問日誌文件,發現訪問日誌文件沒有將baidu.png被記錄在內。

生效成功。

把參數env=!img去掉,發現訪問baidu.png,會將被記錄在內。


11.22-11.24訪問日誌不記錄靜態文件,訪問日誌切割,靜態元素過期時間