11.22-11.24訪問日誌不記錄靜態文件,訪問日誌切割,靜態元素過期時間
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訪問日誌不記錄靜態文件,訪問日誌切割,靜態元素過期時間