日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

访问日志不记录静态文件、访问日志切割、静态元素过期时间

發布時間:2025/3/17 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 访问日志不记录静态文件、访问日志切割、静态元素过期时间 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

11.22 訪問日志不記錄靜態文件

  • 網站大多元素為靜態文件,如圖片、css、js等,這些元素可以不用記錄
    小技巧:
    打開瀏覽器,按鍵盤上的F12鍵,開發人員工具,選擇Network選項(一般默認),刷新網頁或打開新的頁面,如下圖所示:

    在Name這列,有很多個元素,每個元素其實就代表著一個訪問請求,有請求,就有日志。一網站有很多元素組成,每一個元素記錄一條,那一天將近幾個G的日志文件。
  • 把虛擬主機配置文件改成如下:
#添加的參數SetEnvIf Request_URI ".*\.gif$" imgSetEnvIf Request_URI ".*\.jpg$" imgSetEnvIf Request_URI ".*\.png$" imgSetEnvIf Request_URI ".*\.bmp$" imgSetEnvIf Request_URI ".*\.swf$" imgSetEnvIf Request_URI ".*\.js$" imgSetEnvIf Request_URI ".*\.css$" imgCustomLog "logs/123.com-access_log" combined env=!img #只要符合的請求,都不會記錄到日志里

截圖如下:

  • 重新加載配置文件-t,graceful
[root@taoyuan ~]# /usr/local/apache2.4/bin/apachectl -t Syntax OK[root@taoyuan ~]# /usr/local/apache2.4/bin/apachectl graceful
  • 創建目錄,并在這目錄下上傳一個圖片
#可以上傳一張圖片,放在站點的目錄下,也可以在站點根目錄下創建images目錄用于存放圖片 [root@taoyuan 123.com]# ls index.php qq.png
  • curl -x127.0.0.1:80 -I 123.com/qq.png
[root@taoyuan ~]# curl -x127.0.0.1:80 123.com/adaffhgf -I HTTP/1.1 404 Not Found Date: Thu, 21 Dec 2017 14:12:39 GMT Server: Apache/2.4.28 (Unix) PHP/5.6.30 Content-Type: text/html; charset=iso-8859-1#查看日志 [root@taoyuan ~]# tail /usr/local/apache2.4/logs/123.com-access_log 127.0.0.1 - - [21/Dec/2017:22:12:39 +0800] "HEAD HTTP://123.com/adaffhgf HTTP/1.1" 404 - "-" "curl/7.29.0"#執行*.jpg [root@taoyuan ~]# curl -x127.0.0.1:80 123.com/adaffhgf.jpg -I HTTP/1.1 404 Not Found Date: Thu, 21 Dec 2017 14:14:54 GMT Server: Apache/2.4.28 (Unix) PHP/5.6.30 Content-Type: text/html; charset=iso-8859-1#日志里沒有記錄 [root@taoyuan ~]# tail /usr/local/apache2.4/logs/123.com-access_log 127.0.0.1 - - [21/Dec/2017:22:12:39 +0800] "HEAD HTTP://123.com/adaffhgf HTTP/1.1" 404 - "-" "curl/7.29.0"#測試圖片 [root@taoyuan 123.com]# curl -x127.0.0.1:80 123.com/qq.png -I HTTP/1.1 200 OK Date: Thu, 21 Dec 2017 14:23:37 GMT Server: Apache/2.4.28 (Unix) PHP/5.6.30 Last-Modified: Thu, 21 Dec 2017 13:47:55 GMT ETag: "193e-560d9f26db8c0" Accept-Ranges: bytes Content-Length: 6462 Content-Type: image/png
  • tail /usr/local/apache2.4/logs/123.com-access_log
#查看日志 [root@taoyuan 123.com]# tail /usr/local/apache2.4/logs/123.com-access_log #沒有日志記錄,已經排除了 127.0.0.1 - - [21/Dec/2017:22:12:39 +0800] "HEAD HTTP://123.com/adaffhgf HTTP/1.1" 404 - "-" "curl/7.29.0"

11.23 訪問日志切割

  • 日志一直記錄總有一天會把整個磁盤占滿,所有有必要讓它自動切割,并刪除老的日志文件
  • 把虛擬主機配置文件改成如下:
<VirtualHost *:80>DocumentRoot "/data/wwwroot/123.com"ServerName 123.comServerAlias www.123.cn www.123.comErrorLog "logs/123.com-error_log"SetEnvIf Request_URI ".*\.gif$" imgSetEnvIf Request_URI ".*\.jpg$" imgSetEnvIf Request_URI ".*\.png$" imgSetEnvIf Request_URI ".*\.bmp$" imgSetEnvIf Request_URI ".*\.swf$" imgSetEnvIf Request_URI ".*\.js$" imgSetEnvIf Request_URI ".*\.css$" imgCustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/123.com-access_%Y%m%d.log 86400" combined env=!img#CustomLog "logs/123.com-access_log" combined env=!img </VirtualHost>#需要指定一個rotatelogs工具,是Apache自帶的一個日志切割工具。-l 是以時間切割為單位。 #86400 表示是多久切割的時間段
  • 重新加載配置文件 -t,graceful
[root@taoyuan 123.com]# /usr/local/apache2.4/bin/apachectl -t Syntax OK [root@taoyuan 123.com]# /usr/local/apache2.4/bin/apachectl graceful
  • ls /usr/local/apache2.4/logs
#curl測試 [root@taoyuan 123.com]# curl -x127.0.0.1:80 123.com/12141 -I HTTP/1.1 404 Not Found Date: Thu, 21 Dec 2017 14:35:34 GMT Server: Apache/2.4.28 (Unix) PHP/5.6.30 Content-Type: text/html; charset=iso-8859-1#查看文件 [root@taoyuan 123.com]# ls /usr/local/apache2.4/logs/ 111.com-access_log 123.com-access_20171221.log 123.com-error_log error_log 111.com-error_log 123.com-access_log access_log httpd.pid 生成了一個123.com-access_20171221.log文件

注:在實際過程中,需要建立一個任務計劃,把一段時間的文件進行拷貝或刪除,以保證磁盤容量永遠是足夠的。

12.11.24 靜態元素過期時間

  • 瀏覽器訪問網站的圖片時會把靜態的文件緩存在本地電腦里,這樣下次再訪問時就不用去遠程下載了
  • 增加配置
<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>

截圖如下:

備注:
這部分配置用到了mod_expires模塊,相關配置內容并不難理解,通過字面也可以大致猜到其含義。這里gif、jpeg、png格式的文件過期時長為1天,css、js、flash格式的文件過期時長為2小時,其他文件過期時長為0。

  • 需要expires_module
#查看是否加載了expires_module 模塊 [root@taoyuan 123.com]# /usr/local/apache2.4/bin/apachectl -M|grep expire #沒有加載模塊#編輯配置文件 [root@taoyuan 123.com]# vim /usr/local/apache2.4/conf/httpd.confLoadModule expires_module modules/mod_expires.so #去掉注釋[root@taoyuan 123.com]# /usr/local/apache2.4/bin/apachectl -M|grep expireexpires_module (shared)
  • curl 測試,看cache-control:max-age
沒有生效前的 [root@taoyuan 123.com]# curl -x127.0.0.1:80 123.com/qq.png -I HTTP/1.1 200 OK Date: Thu, 21 Dec 2017 14:59:48 GMT Server: Apache/2.4.28 (Unix) PHP/5.6.30 Last-Modified: Thu, 21 Dec 2017 13:47:55 GMT ETag: "193e-560d9f26db8c0" Accept-Ranges: bytes Content-Length: 6462 Content-Type: image/png#生效之后的 [root@taoyuan 123.com]# curl -x127.0.0.1:80 123.com/qq.png -I HTTP/1.1 200 OK Date: Thu, 21 Dec 2017 15:03:51 GMT Server: Apache/2.4.28 (Unix) PHP/5.6.30 Last-Modified: Thu, 21 Dec 2017 13:47:55 GMT ETag: "193e-560d9f26db8c0" Accept-Ranges: bytes Content-Length: 6462 Cache-Control: max-age=86400 Expires: Fri, 22 Dec 2017 15:03:51 GMT Content-Type: image/png#多了cache-control參數等

瀏覽器結果如下:

按ctrl+f5 強制刷新

轉載于:https://blog.51cto.com/3622288/2053091

總結

以上是生活随笔為你收集整理的访问日志不记录静态文件、访问日志切割、静态元素过期时间的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。