Linux centos7 VMware Apache访问日志不记录静态文件、访问日志切割、静态元素过期时间...
一、Apache訪問日志不記錄靜態文件
網站大多元素為靜態文件,如圖片、css、js等,這些元素可以不用記錄
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //改為如下
把虛擬主機配置文件改成如下:
?
?
?
重新加載
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
?
mkdir /data/wwwroot/www.111.com/images //創建目錄,并在這目錄下上傳一個圖片
curl -x127.0.0.1:80 -I www.111.com/images/123.jpg
?
把配置文件env=!img 去掉就有日志生成了
?tail /usr/local/apache2.4/logs/www.111.com-access_log
把配置文件env=!img 加上就沒有日志生成了
?
?
二、訪問日志切割
日志一直記錄總有一天會把整個磁盤占滿,所以有必要讓它自動切割,并刪除老的日志文件
把虛擬主機配置文件改成如下:
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf?
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/www.111.com"
ServerName www.111.com
ServerAlias 111.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.4/bin/rotatelogs -l logs/111.com-access_%Y%m%d.log 86400" combined env=!img
</VirtualHost>
img 可以變化,可以是image-request
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
ls /usr/local/apache2.4/logs ?還沒有以日期為單位的日志文件
?
訪問一個網頁
查看就可以生成日志文件了
ls /usr/local/apache2.4/logs
?
更改權限使它可以可讀可寫可執行
訪問一個網頁
再查看日志,就可以看到訪問記錄了
[root@davery ~]# cat /usr/local/apache2.4/logs/123.com-access_20180603.log
[root@davery ~]# tail /usr/local/apache2.4/logs/123.com-access_20180603.log
訪問圖片就沒有日志生成
?
訪問網頁就有日志生成
?
?
三、靜態元素過期時間
?
瀏覽器訪問網站的圖片時會把靜態的文件緩存在本地電腦里,這樣下次再訪問時就不用去遠程下載了
增加配置
vim /usr/local/apache2.4/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>
/usr/local/apache2.4/bin/apachectl -t
/usr/local/apache2.4/bin/apachectl graceful
查看expier模塊有沒有打開
?
沒有打開,則需編輯主配置文件
vim /usr/local/apache2.4/conf/httpd.conf
搜索expires
?
把注釋去掉
?
expires_module就打開了、
?
curl測試,看cache-control: max-age
?
轉載于:https://www.cnblogs.com/davery/p/8934443.html
總結
以上是生活随笔為你收集整理的Linux centos7 VMware Apache访问日志不记录静态文件、访问日志切割、静态元素过期时间...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python是一门什么样的语言
- 下一篇: python copy 文件,图片等..