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

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

相關文章
相關標籤/搜索