42.訪問日誌不記錄靜態文件及切割 靜態元素過時時間

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

11.23 訪問日誌切割php

11.24 靜態元素過時時間css

擴展 java

apache日誌記錄代理IP以及真實客戶端IP http://ask.apelearn.com/question/960linux

apache只記錄指定URI的日誌 http://ask.apelearn.com/question/981apache

apache日誌記錄客戶端請求的域名 http://ask.apele...vim

 

 

 

11.22 訪問日誌不記錄靜態文件:瀏覽器

 

訪問網站的元素都有哪些,谷歌瀏覽器的話按F12。咱們在訪問一個頁面的時候,他其實加載了不少的元素,以下圖緩存

其中每一行都是一個請求,每一行都有一個地址,這就是一個請求,這些請求就會記錄日誌並且咱們主要就是看這些。服務器

可是其中網站大多元素爲靜態文件,如圖片、css、js等,這些元素能夠不用記錄

把虛擬主機配置文件改爲以下(至關於定義了一個環境):

<VirtualHost *:80>

DocumentRoot "/data/wwwroot/111.com"

ServerName 111.com

ServerAlias 123.com

SetEnvIf Request_URI ".*\.gif$" img 正則,就是符合.gif的爲img(可隨便寫,不必定非得是img)。 凡是一下這幾種請求的都叫 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 在這一行(Custonlog)上面加入。

env=!img 咱們上面定義的img,凡是符合定義的img的否不會記錄到這裏

</VirtualHost>

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

mkdir /data/wwwroot/111.com/images 建立目錄,並在這目錄下上傳一個圖片

curl -x127.0.0.1:80 -I 111.com/images/123.jpg

tail /usr/local/apache2.4/logs/123.com-access_log

 

 

實例:

[root@axinlinux-01 ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

ErrorLog "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>

[root@axinlinux-01 ~]# cd /data/wwwroot/111.com

[root@axinlinux-01 111.com]# rz

[root@axinlinux-01 111.com]# ls

123.php index.php 端口映射.jpg

[root@axinlinux-01 111.com]# mv 端口映射.jpg abc.jpg

[root@axinlinux-01 111.com]# ls

123.php abc.jpg index.php

[root@axinlinux-01 111.com]# /usr/local/apache2/bin/apachectl -t

Syntax OK

[root@axinlinux-01 111.com]# /usr/local/apache2/bin/apachectl graceful

httpd not running, trying to start

[root@axinlinux-01 111.com]# curl -x192.168.159.128:80 111.com/abc.jpg -I 咱們測試abc.jpg,成功

HTTP/1.1 200 OK

Date: Fri, 03 Aug 2018 15:09:52 GMT

Server: Apache/2.4.34 (Unix) PHP/5.6.32

Last-Modified: Sat, 14 Jul 2018 15:36:37 GMT

ETag: "7a91-570f75ca36b40"

Accept-Ranges: bytes

Content-Length: 31377

Content-Type: image/jpeg

 

[root@axinlinux-01 111.com]# tail /usr/local/apache2/logs/111.com-access_log 這裏卻沒有顯示咱們測試的訪問記錄

192.168.159.128 - - [03/Aug/2018:23:02:04 +0800] "GET HTTP://111.com/abc.com HTTP/1.1" 404 205 "-" "curl/7.29.0"

192.168.159.128 - - [03/Aug/2018:23:02:08 +0800] "HEAD HTTP://111.com/abc.com HTTP/1.1" 404 - "-" "curl/7.29.0"

192.168.159.128 - - [03/Aug/2018:23:09:42 +0800] "HEAD HTTP://111.com/abc.jpg1 HTTP/1.1" 404 - "-" "curl/7.29.0"

 

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

11.23 訪問日誌切割:

 

 

 

日誌一直記錄總有一天會把整個磁盤佔滿,因此有必要讓它自動切割,並刪除老的日誌文件

把虛擬主機配置文件改爲以下:

<VirtualHost *:80>

DocumentRoot "/data/wwwroot/111.com"

ServerName 111.com

ServerAlias 123.com

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 "|/usr/local/apache2/bin/rotatelogs -l logs/111.com-access_%Y%m%d.log 86400" combined env=!img 只須要在這一行加入 紅色部分(rotatelogs是Apache自帶的切割工具)

-l是讓他以當前系統的時間爲基準(時區。咱們中國是CST,默認是美國UTC)data命令能夠看到

%Y%m%d.log定義變量,也及時切割後的名字以咱們設置的變量(年月日)來命名

86400 就是86400秒。定義天天切割,也就是86400秒

</VirtualHost>

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

curl -x192.168.159.128:80 111.com -I 訪問纔會生成

ls /usr/local/apache2.4/logs

 

注意:咱們僅僅只是讓他每日切割。還須要作一個任務計劃,讓他每日刪除,只保留這一個

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

11.24 靜態元素過時時間:

 

 

 

咱們在訪問網站的時候,好比一些圖片會自動下載到咱們的電腦裏,下次在訪問的時候就不用再去服務器下載了。但這些緩存的文件是根據咱們瀏覽器的設定來決定時間清理的,或者是電腦管家幫咱們清理

若是咱們再次訪問這個圖片,瀏覽器檢測到這個圖片沒有更改跟咱們本地緩存的同樣,就不會再次下載,就會顯示狀態碼304,

這樣對於服務器是好的,能夠節省帶寬。可是沒有定義何時過時,萬一咱們對這個圖片作了更改呢,這就須要咱們設置靜態元素的過時時間:

 

增長配置

<IfModule mod_expires.c> 用到expires模塊

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>

須要expires_module 主配置文件,搜索expires,將這個模塊打開(註釋去掉)

-t graceful

curl測試,看cache-control: max-age

 

 

 

實例:

[root@axinlinux-01 wwwroot]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

<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>

[root@axinlinux-01 wwwroot]# /usr/local/apache2/bin/apachectl -M | grep expires 顯示沒有打開

[root@axinlinux-01 ~]# vim /usr/local/apache2/conf/httpd.conf

LoadModule expires_module modules/mod_expires.so 把expires模塊註釋去掉

[root@axinlinux-01 ~]# /usr/local/apache2/bin/apachectl -t

Syntax OK

[root@axinlinux-01 ~]# /usr/local/apache2/bin/apachectl graceful

[root@axinlinux-01 ~]# curl -x192.168.159.128:80 111.com/abc.jpg -I

HTTP/1.1 200 OK

Date: Fri, 03 Aug 2018 16:13:44 GMT

Server: Apache/2.4.34 (Unix) PHP/5.6.32

Last-Modified: Sat, 14 Jul 2018 15:36:37 GMT

ETag: "7a91-570f75ca36b40"

Accept-Ranges: bytes

Content-Length: 31377

Cache-Control: max-age=86400 觀察這個,咱們剛設置的。生效

Expires: Sat, 04 Aug 2018 16:13:44 GMT

Content-Type: image/jpeg

相關文章
相關標籤/搜索