当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > Linux服务器:关于Apache配置和日志

Linux服务器
中小企业服务器配置-邮件服务器(1)
中小企业服务器配置-邮件服务器(2)
典型WEB服务器Apache高级设置指南
从HTTP服务器状态代码分析
基于反向代理的Web缓存加速现代理服务器
在ApacheHTTPD服务器中使用DSO完全分析
组网不求人!搭建简易Linux局网服务器
基于NUMA架构的高性能服务器技术(1)
基于NUMA架构的高性能服务器技术(2)
复制另一台Linux服务器及相关问题
Linux服务器之间怎么样SSH不需密码
Rsync在服务器间镜像或者备份目录
服务器诊所:鲜为人知但很有用的观念
服务器诊所:并不是仅仅就是线程化而已
服务器诊所:PDF自动生成专业质量输出
用低代价的服务器过程将文档处理自动化
设置一个企业级的LinuxPOP3服务器
WEB服务器Apache编译指南及高级技巧
给Qmail邮件服务器加个病毒防火墙
LinuxCVS服务器与WinCVS的配置与使用

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 78 ::
收藏到网摘: n/a

1、设置环境变量

在apache里面,你可以用正则来判断很多变量,然后设定另外一个变量以便后面的配置使用

比如你要判断用户是否访问某个文件夹,然后设定一个变量记录一下:

SetEnvIfNoCaseRequest_URI"^\/aslibra"ISSTART=1

SetEnvIfNoCase是指不区分大小写

Request_URI匹配一下"^\/aslibra"

如果是的话,那ISSTART=1,否则就不是1

另外,不记录图片的日志可以是找一下文件路径,然后设定变量供后面使用:

SetEnvNOFILES1

CustomLoglogs/access_logcombinedenv=!NOFILES

2、处理盗链

处理盗链一般是在referrer上做判断,见下面这个例子:

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

OrderAllow,Deny

Allowfromenv=local_ref

Allowfrom127.0.0.1

上面是判断来源是上面域名,然后设定为允许访问

SetEnvIfNoCaseReferer"^http://notpermit\.aslibra\.com/"aaa

OrderAllow,Deny

Allowfromall

Denyfromenv=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开始的请求:

SetEnvIfNoCaseRequest_URI"^\/aslibra"ISSTART=1

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

可以几个CustomLog一起记录的,以此类推就好了。