Apache日志

Apache内记录服务器活动的功能。

如何找到Apache日志?

如果Apache的安装方式是默认安装,服务器一运行就会有两个日志文件生成。

这两个文件是access_log(在Windows上是access.log)和error_log(在Windows上是error.log)。

采用默认安装方式时,这些文件可以在/usr/local/apache/logs下找到;对于Windows系统,这些日志文件将保存在Apache安装目录的logs子目录。

不同的包管理器会把日志文件放到各种不同的位置,所以你可能需要找找其他的地方,或者通过配置文件查看这些日志文件配置到了什么地方。

日志根据服务器的不同而不同,一般有IIS和Apache两种。

各个站都是不同的,有的是isp提供下载只能保存几天的,也有的是从ftp可以找到日志,具体要询问自己的空间提供商。

如果是你自己的服务器的话,IIS的日志可以在Windows文件夹下的system32\LogFiles\W3SVC1下.而Apache的日志默认是在安装地址的logs文件夹下,如果没有的话需要更改服务器配置,例如以tomcat为例,需要修改server.xml文件加入 <directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="combined" resolveHosts="false"/> 然后就会在logs文件夹下生成类似于localhost_access_log.2010-07-07.txt的文件。

如何分析Apache日志?

举例说明:

Apache日志一:

72.30.142.174 - - [08/Jul/2010:05:24:10 +0800] "GET /robots.txt HTTP/1.0" 200 27 "null" "Mozilla/5.0 (compatible; Yahoo! slurp; http://help.yahoo.com/help/us/ysearch/slurp)"

分析一:

雅虎的蜘蛛(72.30.142.174 )在2010-7-8 05:24:10(东八区区时)以get的方式访问http://www.qingdao-seo.net/robots.txt这个文件大小为27个字节,访问成功。

Apache日志二:

222.173.101.196 - - [08/Jul/2010:07:14:11 +0800] "GET /list_bg.gif HTTP/1.1" 404 988 "http://www.qingdao-seo.net/" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.5; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) )"

分析二:

用户通过首页访问list_bg.gif文件,结果服务器上没有返回了404代码,这时我们的网站就有一些问题需要去处理了,为什么没有这个文件。

Apache个字段含义:

访问日志access_log记录了所有对Web服务器的访问活动,下面是访问日志access_log中的一个标准记录

192.168.43.117

日志字段所代表的内容如下:

1.远程主机IP:表明访问网站的是谁 

2.空白(E-mail):为了避免用户的邮箱被垃圾邮件骚扰,第二项就用“-”取代了

3.空白(登录名):用于记录浏览者进行身份验证时提供的名字。

4.请求时间:用方括号包围,而且采用“公用日志格式”或者“标准英文格式”。 时间信息最后的“+0800”表示服务器所处时区位于UTC之后的8小时。

5.方法+资源+协议:服务器收到的是一个什么样的请求。该项信息的典型格式是“METHOD RESOURCE PROTOCOL”,即“方法 资源 协议”。

METHOD: GET、POST、HEAD、……
RESOURCE: /、index.html、/default/index.php、……(请求的文件)
PROTOCOL: HTTP+版本号

6.状态代码:请求是否成功,或者遇到了什么样的错误。成功是200,它表示服务器已经成功地响应浏览器的请求,一切正常。

7.发送字节数:表示发送给客户端的总字节数。它告诉我们传输是否被打断(该数值是否和文件的大小相同)。把日志记录中的这些值加起来就可以得知服务器在一天、一周或者一月内发送了多少数据。

Apache返回代码含义:

"100" : Continue 客户必须继续发出请求

"101" : witching Protocols 客户要求服务器根据请求转换HTTP协议版本

"200" : OK 交易成功

"201" : Created 提示知道新文件的URL

"202" : Accepted 接受和处理,但处理未完成

"203" : Non-Authoritative Information 返回信息不确定或不完整

"204" : No Content 请求收到,但返回信息为空

"205" : Reset Content 服务器完成了请求,用户代理必须复位当前已经浏览过的文件

"206" : Partial Content 服务器已经完成了部分用户的GET请求

"300" : Multiple Choices 请求的资源可在多处得到

"301" : Moved permanently 删除请求数据 

"302" : Found 在其他地址发现了请求数据 

"303" : See Other 建议客户访问其他URL或访问方式 

"304" : Not Modified 客户端已经执行了GET,但文件未变化

"305" : Use Proxy 请求的资源必须从服务器指定的地址得到

"306" : 前一版本HTTP中使用的代码,现行版本中不再使用

"307" : Temporary Redirect 申明请求的资源临时性删除

"400" : Bad Request 错误请求,如语法错误

"401" : Unauthorized 请求授权失败

"402" : Payment Required 保留有效ChargeTo头响应 

"403" : Forbidden 请求不答应

"404" : Not Found 没有发现文件、查询或URl 

"405" : Method Not Allowed 用户在Request-Line字段定义的方法不答应

"406" : Not Acceptable 根据用户发送的Accept拖,请求资源不可访问

"407" : Proxy Authentication Required 类似401,用户必须首先在代理服务器上得到授权 

"408" : Request Time-out 客户端没有在用户指定的饿时间内完成请求

"409" : Conflict 对当前资源状态,请求不能完成

"410" : Gone 服务器上不再有此资源且无进一步的参考地址

"411" : Length Required 服务器拒绝用户定义的Content-Length属性请求

"412" : precondition Failed 一个或多个请求头字段在当前请求中错误 

"413" : Request Entity Too Large 请求的资源大于服务器答应的大小

"414" : Request-URI Too Large 请求的资源URL长于服务器答应的长度

"415" : unsupported Media Type 请求资源不支持请求项目格式

"416" : Requested range not satisfiable请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含If-Range请求头字段

"417" : Expectation Failed 服务器不满足请求Expect头字段指定的期望值

"500" : Internal Server Error 服务器产生内部错误

"501" : Not Implemented 服务器不支持请求的函数

"502" : Bad Gateway 服务器暂时不可用,有时是为了防止发生系统过载

"503" : Service Unavailable 服务器过载或暂停维修

"504" : Gateway Time-out 关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长

"505" : HTTP Version not supported 服务器不支持或拒绝支请求头中指定的HTTP版本

蜘蛛/机器人:spider/bot 搜索引擎用来爬行和访问页面的程序,如百度蜘蛛爬行其它网站收集数据到数据库中,从而更新百度快照

SEO:Search Engine Optimization 搜索引擎优化

网站权重:搜索引擎给网站(含网页)赋予的一定权威值,对网站(含网页)权威的评估评价

"baiduspider":百度的蜘蛛

"googlebot":谷歌的蜘蛛

"slurp":yahoo的蜘蛛

"Mozilla/4.0":应用程序版本,表示用户使用Maxthon 2.0浏览器使用IE8内核

"MSIE 8.0":版本标识

"Windows NT 5.1":平台自身的识别信息,标识操作系统为Windows XP

"Trident/4.0":浏览器的一种内核,还有一种是WebKit内核

敬爱与明天!