歡迎您光臨本站 註冊首頁

Linux伺服器應用:關於Apache配置和日誌

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
   

1、設置環境變數

 

在apache裡面,你可以用正則來判斷很多變數,然後設定另外一個變數以便後面的配置使用

比如你要判斷用戶是否訪問某個文件夾,然後設定一個變數記錄一下:

SetEnvIfNoCase Request_URI "^\/aslibra" ISSTART=1

 

SetEnvIfNoCase 是指不區分大小寫

Request_URI匹配一下 "^\/aslibra"

如果是的話,那ISSTART=1,否則就不是1

 

另外,不記錄圖片的日誌可以是找一下文件路徑,然後設定變數供後面使用:

 

SetEnv NOFILES 1

 

CustomLog logs/access_log combined env=!NOFILES

 

2、處理盜鏈

 

處理盜鏈一般是在referrer上做判斷,見下面這個例子:

 

SetEnvIfNoCase Referer "^http://www\.aslibra\.com/" local_ref=1

 

Order Allow,Deny

Allow from env=local_ref

Allow from 127.0.0.1

 

上面是判斷來源是上面域名,然後設定為允許訪問

 

SetEnvIfNoCase Referer "^http://notpermit\.aslibra\.com/" aaa

 

Order Allow,Deny

Allow from all

Deny from env=aaa

 

上面是判斷來源,然後不允許該域名

 

3、日誌分割

 

日誌分割可以使用 cronolog 來處理

安裝就比較容易了,跟一般軟體一樣安裝

 

定義格式:

 

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

LogFormat "%h %l %u %t \"%r\" %>s %b" common

LogFormat "%{Referer}i -> %U" referer

LogFormat "%{User-agent}i" agent

 

LogFormat "%h %{%T}t \"%r\" %{cookiename}C" record

 

上面是定義日誌格式,你可以定義很多日誌格式,以便後面的記錄日誌使用

比如普通的是combined,有一般要採集的內容,如果要採集cookie(%{cookiename}C)和自定義時間格式(%{%T}t),可以使用上面類似record的寫法

 

CustomLog "|/Data/apps/cronolog/sbin/cronolog /Data/weblog/%Y/%m/%d/www.aslibra.com.%m%d%H" record

CustomLog "|/Data/apps/cronolog/sbin/cronolog /Data/weblog/%Y/%m/%d/aslibra.com.%m%d%H" combined

 

以上的例子就是調用cronolog存儲日誌,後面的參數是自己定義的日誌格式

當然,你還可以自定義記錄很多條件的日誌,比如僅僅要記錄 /aslibra 開始的請求:

 

SetEnvIfNoCase Request_URI "^\/aslibra" ISSTART=1

CustomLog "|/Data/apps/cronolog/sbin/cronolog /Data/weblog/%Y/%m/%d/aslibra.com.%m%d%H" record env=ISSTART

 

可以幾個CustomLog一起記錄的,以此類推就好了。

(責任編輯:A6)



[火星人 ] Linux伺服器應用:關於Apache配置和日誌已經有422次圍觀

http://coctec.com/docs/net/show-post-68341.html