1、什么是Apache日志

Apache内建了记录服务器活动的功能,这就是它的日志功能。要有效地管理Web服务器,就有必要反馈服务器的活动、性能以及出现的问题。Apache HTTP服务器提供了非常全面而灵活的日志记录功能。 

   如果Apache的安装方式是默认安装,服务器一运行就会有两个日志文件生成。这两个文件是access_log(在Windows上是access.log)和error_log(在Windows上是error.log)。采用默认安装方式时,这些文件可以在/usr/local/apache/logs下找到;对于Windows系统,这些日志文件将保存在Apache安装目录的logs子目录。不同的包管理器会把日志文件放到各种不同的位置,所以你可能需要找找其他的地方,或者通过配置文件查看这些日志文件配置到了什么地方。 

2、如何分析Apache日志

学习SEO不看日志是不行的,或者说不看日志你就不能成为一个真正的seo高手,经常的注意一下自己网站的日志分析蜘蛛爬行的规律是很有用的;
另外日志还有助于解决各种安全问题,如你不知道的IP在访问你的后台等. 
 
日志根据服务器的不同而不同,一般有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服务器所产生的几条日志为例为大家简要讲解一下

比如说: 
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个字节,访问取得了圆满成功。 

阿里云-推广AD

再比如说: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的代码,这时我们就知道我们的网站看上去有一些问题需要去处理了,为什么没有这个文件呢?…. 

好现在问题解决了,现在我们知道了返回代码200代表着访问成功,404代表着目标文件未找到,其他的我从网上找了一个大全的,希望对大家有帮助. 

3、Apache返回代码含义

“100” : Continue 客户必须继续发出请求 
“101” : witching Protocols 客户要求服务器根据请求转换HTTP协议版本  200交易成功 
“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版本