Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> Linux服務器應用:關於Apache配置和日志

Linux服務器應用:關於Apache配置和日志

日期:2017/2/8 10:29:22      編輯:關於服務器

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一起記錄的,以此類推就好了。

Copyright © Windows教程網 All Rights Reserved