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

Linux服务器
linuxsambauser共享方式配置
vsFTPd服务器和防火墙及SELINUX关系
探查Linux系统DNS服务器运行状况
Solaris10下DNS服务器安全攻略
实例:保障UbuntuApacheWeb服务器安全
SUSE下使用SAMBA建立文件服务器
Linux服务器常出现错误及代表含义
LinuxSambauser共享方式配置方法介绍
Debian和UbuntuLinux的NFS配置介绍
Linux服务器实时监控加载硬件信息
Solaris工作站常用下载工具推荐(下)
Linux系统服务器的存储空间巧妙管理
SUSELinux下用SAMBA建立文件服务器
Tor中继服务器在Linux里安装配置的流程
Linux服务器维护统计连接数查看外部IP
Linux系统邮件服务器的搭建过程解析
在CentOS下安装配置VNC的过程
OpenSUSE下使用SAMBA建立文件服务器
配置记录FTP传输情况的LinuxFTP服务器
Linux系统下DNS服务器的架设

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


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