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

Linux服务器
Linux下利用Squid构建高速的ProxyServer
在Linux操作系统上配置DNS服务器的日志
搭建性能比Squid高很多的Varnish服务器
Linux系统挂载AIXNFS服务器的配置方法
Linux上架设一台高容量POP3服务器
鸟哥的Linux学习笔记DNS服务器知识
部署Linux下OpenVZ虚拟化服务器
在RHEL5服务器上远程桌面(VNC)的配置
Samba服务器多系统用户共享目录设计方法
Linux攻略Samba服务的搭建与配置
Linux操作系统下配置DNS服务器的方法介绍
用Linux系统自身做一个L2TP的VPN服务器
Linux环境用Sendmail架设Mail服务器
细述Apachewebserver的安装与配置
linux环境下轻松搭建CVS服务器
UbuntuLinux通过SSh远程管理服务器
Linux操作系统下DHCP中继代理的实现方法
Ubuntu7.10Linux上构建全功能的服务器
Linux系统搭建Discuz论坛的方法
Ubuntub7.10Linux架设Samba服务

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 50 ::
收藏到网摘: 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一起记录的,以此类推就好了。