WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

Linux服务器应用:关于Apache配置和日志

更新时间:2007-11-15 17:41 作者:sixth点击:

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一起记录的,以此类推就好了。

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容