11.22 訪問日誌不記錄靜態文件,不記錄指定類型的文件javascript
網站大多元素爲靜態文件,如圖片、css、js等,這些元素能夠不用記錄。php
把虛擬主機配置文件改爲以下:css
<VirtualHost *:80> DocumentRoot "/data/wwwroot/111.com" ServerName 111.com ServerAlias www.example.com2111.com.cn ErrorLog "logs/111.com-error_log" 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 </VirtualHost>
從新加載配置文件 -t, gracefuljava
curl -x127.0.0.1:80 -I 111.com/abc.jpg1 -Iapache
tailvim
127.0.0.1 - - [24/Dec/2017:22:30:01 +0800] "HEAD HTTP://111.com/abc.jpg1 HTTP/1.1" 404 - "-" "curl/7.29.0"瀏覽器
tail /usr/local/apache2.4/logs/111.com-access_log緩存
若是須要顯示圖片信息,env=!img 刪掉便可,img也能夠改成其它任意字符。app
11.23 訪問日誌切割curl
日誌一直記錄總有一天會把整個磁盤佔滿,因此有必要讓它自動切割,並刪除老的日誌文件
把虛擬主機配置文件改爲以下:
修改 CustomLog 便可
<VirtualHost *:80>
CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/111.com-access_%Y%m%d.log 86400" combined env=!img
</VirtualHost>
從新加載配置文件 -t, graceful
ls /usr/local/apache2.4/logs
[root@localhost 111.com]# ls /usr/local/apache2.4/logs 111.com-access_20171225.log 111.com-error_log abc.com-error_log error_log 111.com-access_log abc.com-access_log access_log httpd.pid
[root@localhost 111.com]# ls /usr/local/apache2.4/logs/111.com-access_20171225.log /usr/local/apache2.4/logs/111.com-access_20171225.log [root@localhost 111.com]# cat !$ cat /usr/local/apache2.4/logs/111.com-access_20171225.log 127.0.0.1 - - [25/Dec/2017:12:08:54 +0800] "HEAD HTTP://111.com/123.php HTTP/1.1" 200 - "-" "curl/7.29.0"
11.24 靜態元素過時時間
瀏覽器訪問網站的圖片時會把靜態的文件緩存在本地電腦裏,這樣下次再訪問時就不用去遠程下載了
增長配置
添加在error上面一行
<IfModule mod_expires.c> ExpiresActive on //打開該功能的開關 ExpiresByType image/gif "access plus 1 days" ExpiresByType image/jpeg "access plus 24 hours" ExpiresByType image/png "access plus 24 hours" ExpiresByType text/css "now plus 2 hour" ExpiresByType application/x-javascript "now plus 2 hours" ExpiresByType application/javascript "now plus 2 hours" ExpiresByType application/x-shockwave-flash "now plus 2 hours" ExpiresDefault "now plus 0 min" </IfModule>
-t graceful
/usr/local/apache2.4/bin/apachectl -M |grep expires
vim /usr/local/apache2.4/conf/httpd.conf
須要去掉expires_module的註釋
curl測試,看cache-control: max-age
擴展
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