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

Linux服务器
为网络启动和软硬件升级建立TFTP
将JBoss做成RedhatLinux的系统服务
Linux/unix下Vsftpd服务器故障排除
在RHEL5服务器下双网卡使用bonding
Linux下安装Darwin流服务器的方法
Linux系统配置VI或VIM的技巧
RedHat5.0配置XEN虚拟机
LinuxFTP服务器和SVN服务器的配置
FedoraLinux操作系统中TFTP的配置技巧
UbuntuLinux系统安装配置Samba服务
RedhatLinux上vsftpd编译安装
在Linux搭建一个简单的vsftpd服务器
关于Linux系统DHCP配置步骤概括介绍
ubuntuLinux下建立FTP服务器如何操作
两个Linux系统NFS服务器的配置方法
UbuntuLinux系统建立FTP服务器步骤
关于Linux操作系统DNS包卸载和安装方法
Linux系统下NTP服务的配置注意事项
Linux操作系统下配置Netware服务器方法
在Debian环境下架设PPPoE服务器方法

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


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