购买的是阿里云服务器,所以需要自己配置,当时配置的时候使用的LANMP的一键环境包,等到现在开始做优化的时候却发现没有启用日志功能,于是就开始启用日志功能。

  1. 流程很简单
  2. SHH登陆服务器
  3. 编辑网站nginx 的配置文件。(因为是lanmp的环境,前段采用的是nginx,后台采用的是apache,所以只需要配置nginx 的就行了)
  4. 去掉access_log的注释,并配置成on
  5. OK

网站日志分析的话,之前分析过本站(http://www.lidazhuang.com)的日志。当时使用的是工具分析的。我就不说了,工具使用大家都会。

关于日志分析的介绍及举例如下:

1、蜘蛛名称介绍

在网站日志中,蜘蛛名称一般有一下几类:百度->baiduspider、Google ->Googlebot、Msn ->msnbot、yahoo ->Slurp、yodao ->YoudaoBot、sogou ->Sogou+get+spider 。在日志中,只要搜索以上蜘蛛名称,就可以看到该蜘蛛类型的爬取痕迹。

2、蜘蛛爬取返回类型

在蜘蛛爬取后会返回代码,通过查看贷款状态可以看到爬取结果,主要HTTP状态码有一下几类:

(1)200代码,表示蜘蛛爬取正常。

(2)304代码,表示自从上次抓取后,该内容没有更新。一般情况下,网站的图片经常会返回该值。

(3)404代码,访问的这个链接是错误链接。这个错误链接,一方面来自原本存在后来删除了网页,另一方面可能来自本来就不存在,但其他人外链了这么个死链接。

(4)302代码,表示临时重定向。

(5)301代码,表示永久重定向。

(6)500代码,表示程序有错。

3、日志代码解读

#Software: Microsoft Internet Information Services 6.0

#Version: 1.0

#Date: 2013-12-22 16:00:39

#Fields: date time s-sitename s-computername s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs-version cs(User-Agent) cs(Cookie) cs(Referer) cs-host sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taken

date表示记录访问日期;

time访问时间;

s-sitename表示你的虚拟主机的代称。

s-ip访问者IP;

cs-method表示访问方法,常见的有两种,一是GET,就是平常我们打开一个 URL访问的动作,二是POST,提交表单时的动作;

cs-uri-stem就是访问哪一个文件;

cs-uri-query是指访问地址的附带参数,如asp文件?后面的字符串id=12等等,如果没有参数则用-表示;

s-port 访问的端口;

cs-username 访问者名称;

c-ip 来源ip;

cs(User-Agent)访问来源;

sc-status状态,200表示成功,403表示没有权限,404表示打不到该页面,500表示程序有错;

sc-substatus 服务端传送到客户端的字节大小;

cs–win32-statu客户端传送到服务端的字节大小;

具体案例分析:

2013-12-22 18:47:12 W3SVC2137573334 D-901195C886694 119.147.151.150 GET /a.aspx id=2230&TypeId=91 80 – 123.125.71.28 HTTP/1.1 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/spider.html) – – www.7ien.cn 200 0 0 59004 243 2250

这段日志表示,Baiduspider:表示蜘蛛爬取类型为百度蜘蛛,GET /a.aspx id=2230&TypeId=91表示蜘蛛爬取文件名为a.aspx id=2230&TypeId=91。返回结果为200。