1. 程式人生 > >lamp(六)——訪問日誌更多配置

lamp(六)——訪問日誌更多配置

11.22 訪問日誌不記錄靜態檔案
11.23 訪問日誌切割
11.24 靜態元素過期時間

遮蔽一些元素記錄到日誌

網站大多元素為靜態檔案,如圖片、css、js等,訪問一個頁面可能記錄一堆日誌。這樣即不方便檢視日誌,也造成日誌佔磁碟空間。這些元素可以不用記錄。把虛擬主機配置檔案改成如下:

<VirtualHost *:80>
   DocumentRoot "/data/wwwroot/www.123.com"
   ServerName www.123.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 "logs/123.com-access_log" combined env=!img
</VirtualHost>

結構其實很簡單,定義標籤,然後在訪問日誌那一行配置設定env=!img。img是標籤名,可以自定義。記得設定完重新載入配置檔案。

mkdir /data/wwwroot/www.123.com/images建立目錄,並在這目錄下上傳一個圖片。然後curl -x127.0.0.1:80 -I 123.com/images/123.jpg測試,檢視日誌tail /usr/local/apache2.4/logs/123.com-access_log是否遮蔽了jpg的標籤。

日誌切割

日誌一直記錄總有一天會把整個磁碟佔滿,所以有必要讓它自動切割,並刪除老的日誌檔案
把虛擬主機配置檔案改成如下:

<VirtualHost *:80>
   DocumentRoot "/data/wwwroot/www.123.com"
   ServerName www.123.com
   ServerAlias 123.com
   CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l  logs/123.com-access_%Y%m%d.log 86400" combined env=!img
</VirtualHost>

rotatelogs是apache自帶的日誌切割工具,引數-l指定使用系統時間(中國使用cst),不指定的話使用utc。最後重新載入配置檔案,curl做一個訪問。然後檢視是否生成新日誌, ls /usr/local/apache2.4/logs

靜態元素過期時間

瀏覽器訪問網站的圖片時會把靜態的檔案快取在本地電腦裡,這樣下次再訪問時就不用去遠端下載了。除了圖片,還有css等靜態元素,其過期時間是在server端定義的,做好過期時間可以有效降低伺服器壓力。

狀態碼304,就是沒有改變。如果不設定過期時間就會一直儲存在本地。這樣不利於網站提供服務,比如後期靜態元素變化,但是使用者很有可能只能檢視到之前的內容。

過期時間配置需要expires_module模組,記得在httpd.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>

curl測試,可以看到“cache-control: max-age”字樣。使用瀏覽器(chrome、firefox),按f12也可以檢視到過期時間相關資訊。

相關推薦

lamp——訪問日誌配置

11.22 訪問日誌不記錄靜態檔案 11.23 訪問日誌切割 11.24 靜態元素過期時間 遮蔽一些元素記錄到日誌 網站大多元素為靜態檔案,如圖片、css、js等,訪問一個頁面可能記錄一堆日誌。這樣即不方便檢視日誌,也造成日誌佔磁碟空間。這些元素可以不用記錄。把

Flask:10-項目部署02:讓的朋友訪問你的裝逼利器

margin server tmm sax -s static solid -m 請求 項目部署 WEB工作原理 客戶端(chrom) <=> WEB服務器(nginx) <=> WSGI(uWSGI) <=> Python(Flas

Flask:10-專案部署02:讓的朋友訪問你的裝逼利器

專案部署 WEB工作原理 客戶端(chrom) <=> WEB伺服器(nginx) <=> WSGI(uWSGI) <=> Python(Flask) <=> 資料庫(MySQL) Flask框架自帶一個測試伺服器,開發時直接執行即可;但是在生成環境中,必須

線程學習--單例和線程、ThreadLocal

pen single cal final ride args ash public 線程 一、ThreadLocal 使用wait/notify方式實現的線程安全,性能將受到很大影響。解決方案是用空間換時間,不用鎖也能實現線程安全。 來看一個小例子,在線程內的set、get

Hyperledger Fabric 1.0 從零開始——創建Fabric節點集群

_id 測試 es2017 xtra 去掉 compose 多個 服務 執行命令 4:創建Fabric多節點集群 4.1、配置說明 首先可以根據官方Fabric自帶的e2e_cli列子中的集群方案來生成我們自己的集群,與案例不同的是我們需要把容器都分配到不同的服務器上,彼此

Java程式設計思想—— 訪問許可權控制

一、包:庫單元         包內含有一組類,它們在單一的名字空間下被組織在了一起。例如,在Java的標準釋出中有一個工具庫,它被組織在java.util名字空間下,如果要使用此名字空間下的ArrayList類,可以使用其命名的方式,如下: pu

java資料庫程式設計13 獲取資料庫資訊

使用 DatabaseMetaData可以獲得關於資料庫的很多資訊,比如支援的列,兩張表之間的外來鍵約束,檢視主鍵約束等等。 這裡的程式碼也不用怎麼講解了,如果前面的都懂的話,這些程式碼是可以看懂的。 import java.io.FileInputStream; import java

c++學習總結——虛擬函式與

一、學習總結     在面向物件程式設計中,多型性是指一個名字,多種語義;或者介面相同,多種實現。過載函式是多型性的一種簡單形式。C++為類體系提供一種靈活的多型機制——虛擬函式。虛擬函式允許函式呼叫與函式體的聯絡在執行時才進行,成為動態聯編。類、繼承和多型,提供了對軟體重用性

C語言入門之include、檔案開發

include基本概念 #include <stdio.h> // 告訴系統printf函式是存在的, 告訴系統printf函式的格式(宣告printf函式) // include的作用

Docker學習: 網絡使用與配置

sock AR -i 回顧 覆蓋 htm 參考 ble dock 特別聲明:   博文主要是學習過程中的知識整理,以便之後的查閱回顧。部分內容來源於網絡(如有摘錄未標註請指出)。內容如有差錯,也歡迎指正! =============系列文章============= 1

MyBatis學習--使用日誌和優化配置檔案

寫在前面 大體結構還是參照大大的部落格,但是自己會嘗試補充一些內容 孤傲蒼狼的部落格:https://www.cnblogs.com/xdp-gacl/category/655890.html 程式碼中會有很多重要的註釋,請不要忽略。 一、使用日誌 為了後面方便和deb

PXE技術篇--pxelinux 的配置文件

tex 引導 alt dir 復制 cfg 初始 roc -o pxe 啟動引導器pxelinux.0 在 syslinux 包中, 把它拷貝到 /var/lib/tftpboot/ 下, 客戶機會從此目錄讀取該文件 安裝yum -y install syslinux 復

LinuxLinux系統中安裝配置JDK

1.首先將JDK安裝檔案拷貝到Linux系統中    這裡我是在虛擬機器中操作,我通過共享資料夾進行檔案傳輸,如果是遠端Linux系統可以使用xftp(在我前面部落格講過如何使用)進行檔案傳輸。    從共享資料夾中拷貝到/usr/local/目錄下    2.對壓縮包進行解

LAMP+LNMP用戶認證、域名跳轉與訪問日誌

Linux LAMP一、用戶認證有的網站需要加密特定的網頁,這是我們可以給網頁設置成輸入用戶名和密碼才能訪問,那麽具體的設置是 1、修改/usr/local/apache2.4/conf/extra/httpd-vhosts.conf文件我們先看下模板<VirtualHost *:80>Docum

安卓專案實戰之強大的網路請求框架okGo使用詳解:擴充套件專案okServer,強大的下載上傳功能,支援斷點和工管理

OkGo與OkDownload的區別就是,OkGo只是簡單的做一個下載功能,不具備斷點下載,暫停等操作,但是這在很多時候已經能滿足需要了。 而有些app需要有一個下載列表的功能,就像迅雷下載一樣,每個下載任務可以暫停,可以繼續,可以重新下載,可以有下載優先順序,這時候OkDownload就有

lamp——使用者認證、域名跳轉、訪問日誌

11.18 Apache使用者認證 11.19/11.20 域名跳轉 11.21 Apache訪問日誌 Apache使用者認證 apache使用者認證設定後,訪問網頁前要進行身份認證才能進入,比如一些後臺管理頁面等。 在虛擬主機配置檔案中設定。vim /usr/

java線程

類型 準備 應用 不支持 訪問 接口類 行為 而且 left 使用Runnable接口創建線程 Runnable接口 只有一個run()方法 Thread類實現了Runable接口 便於多個線程共享資源 Java不支持多繼承,如果已經繼承了某個基類,便要實現

Android源代碼解析之--&gt;Log日誌

static 同學 ons ets urn append oct source for 轉載請標明出處:一片楓葉的專欄 首先說點題外話,對於想學android framework源代碼的同學,事實上能夠在github中fork一份,詳細地址:p

Oracle筆記 表查詢

針對 多人 筆記 padding 工資 cells 找到 mem 概念 Oracle筆記(六) 多表查詢 本次預計講解的知識點 1、 多表查詢的操作、限制、笛卡爾積的問題; 2、 統計函數及分組統計的操作; 3、 子查詢的操作,並且結合限定查詢、數據排序、多表查詢、統計

51CTO學院新課發布~~帶你遇見好的自己2017.11.20-11.26

新課推薦 開發 運維 辦公 金融財會 一周的時間匆匆即逝,又到了給你們出新課列表的時候了,小編每周都辛苦的給你們推課,也不幾道你們到底看了沒,想到小編之前做講師的時候,那可是一把鼻涕一把淚的催著同學們學習。有個段子特別能描述當時的心情:“老師這個職業吧,說的文明點就是每天帶著學生在知識的海洋裏暢遊。然而暢遊一