|
|
赛度首页 - 电脑基础 - 操作系统 - 办公软件 - 图形图像 - 网络应用 - 安全中心 - 硬件知识 - 手机数码 - 下载中心 - 交流论坛 |
| 您现在的位置: 赛度网 >> 电脑基础 >> 服务器配置 >> 正文 |
|
|||||
监视并记录Apache网站服务器的运行 |
|||||
| 发布于:2007-10-28 15:16:07 作者:赛度网 来源:不详 | |||||
|
·IIS网站服务器设置与优化7招 ·架设某大型网站服务器之全部过程 ·个人电脑变网站服务器全面解决方案 ·六款入门级网站服务器硬件选购参考 ·企业网站服务器负载均衡技术 ·给网站服务器做压力测试 ·虚拟机VMware Server利用——托管网站 ·高手论道 企业网站服务器负载均衡技术 ·网站服务器假日管理方案 Apache提供了广泛记录运行时各方面信息的工具。比如有条件性的记录日志,日志循环,确定IP地址等时普遍会遇到的问题。还讲解很多用于检测您的Apache服务器状态以及分析其日志的捆绑的第三方模块和工具。 默认的Apache日志文件 Apache提供很多检测和日志工具来追踪服务器的正确运行。默认的Apache配置提供两个日志文件,放置在安装目录下的日志目录里面。 access_log 这个文件(在windows下对应access.log文件)包含了服务器已经处理过的请求的信息,比如说请求的URL,客户端的IP地址,请求是否被成功完成等。error_log 这个文件(在windows下对应error.log文件)包含了与错误情况相关的信息,以及服务器生命周期中不同的大事件。 创建日志格式 LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%h %l %u %t \"%r\" %>s %b" \"%{Referer}i\" \"%{User-agent}i\"" combined LogFormat 指令允许你告诉Apache你想要记录请求的哪些方面。而你仍需附加的指令来告诉Apache在哪里记录那些信息,这在下一章中将会介绍。下面的例子显示了两种最受欢迎的格式的配置:普通日志格式和整合日志格式。当Apache收到一个请求,他将会用相应的请求属性来替代以%为前缀的每一个域。如果您正在使用普通日志格式,您的日志文件里的每一项输入看起来都将是这样的: 192.168.200.4 - someuser [12/Jun/2005:08:33:34 0500] "GET /example.png HTTP/1.0" 200 1234 如果您正在使用整合日志格式,您的日志文件里的每一项输入看起来则都将是这样的: 192.168.200.4 - someuser [12/Jun/2005:08:33:34 0500] "GET /example.png HTTP/1.0" 200 1234 http://www.example.com/index.html "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.7)" 尽管有附件提供日志格式的详尽索引,下表描述了一些最为重要的域: # %h: 客户端(例如,浏览器)向服务器发出连接请求时自己的当时的IP地址或域名(需开启HostNameLookups)。 # %u: 使用HTTP方式认证用户时,记录下的用户的编号。 # %t: 服务器接受到连接请求的时间。 # %r: 客户端发出的原始连接请求中的文本信息,包含所使用的HTTP方法。 # %>s: 服务器应答浏览器后的返回状态代码,200表示请求成功。. # %b: 服务器应答浏览器发出的单个请求的回传对象的内容大小(字节为单位),不统计数据包头部字节。 整合日志格式在普通日志格式的基础上扩展出了两个附加的域。定义为: # %{Referer}i: 连接请求数据包包头,包含指向当前页面的文档关联信息。 # %{User-agent}i: 用户代理连接请求数据包包头,包含客户浏览器的信息。 创建一个自定义日志文件 CustomLog logs/access_log common TransferLog logs/sample.log 您可能会想创建Apache自带以外的新的日志文件。下面的例子将运用CustomLog来创建一个新的日志文件,并保存由一个之前定义好的日志格式,即前一章提到的common,所定义的信息。您还可以用格式本身的定义来替换昵称。一个附加的,更为简单的指令是Transferlog,它只接受最后一个 LogFormat指令提供的定义。 重导向日志到一个外部的程序 TransferLog "|bin/rotatelogs /var/logs/apachelog 86400"
CustomLog logs/access_log common env=!image SetEnvIf Remote_Addr 192\.168\.200\.5 specialmachine CustomLog logs/special_access_log common env=specialmachine 你可以根据可变的环境决定是否记录一个请求。这种可变可以根据许多参数,比如客户端的IP地址或请求中某个头部的存在,事先设置好。正如本例中所显示, CustomLog指令可以将可变的环境作为第三个参数来接受。如果存在可变的环境,它就将被记录,否则就不会。如果这个可变的环境被一个"!"开头否定,那么不存在可变的环境将会被记录。本例将告诉您如何避免在日志里以GIF和JPEG的格式记录图像,及如何从一个特定的IP地址记录请求道一个单独的日志文件。另一个例子请参加下一节。 谁在连接你的网站 SetEnvIfNoCase Referer www\.example\.com internalreferral LogFormat "%{Referer}i -> %U" referer CustomLog logs/referer.log referer env=!internalreferral 可以通过记录Referer的值来检测哪些人连接了你的网站,Referer变量位于用户发送连接请求数据包的头部,数据包头中还包含了用户访问的目的网站的URL地址。通过这种方法可以记录下绝大部分网站访问者。也可以把来自特定网站(www\.example\.com)地址段的来访者排除出日志记录文件。 利用模块参数(mod_status)来监视Apache服务器 <location /server-status> SetHandler server-status Order Deny,Allow Deny from all Allow from 192.168.0 </location>
关于监视并记录Apache网站服务器的运行的学习及相关资料 文章结束,如果您想详细了解是什么意思,怎么使用?请进入 bbs.ccidu.com 为您详细解答! |
|||||
| | 设为首页 | 加入收藏 | 版权申明 | 广告与合作 | 网站地图 | |
|
Copyright ©2008 CCIDU All Rights Reserved 赛度网 复制必究 |