不知道是否记得asp教程里的访问计数器,实际使用的时候,简单的计数功能往往不能满足我们的需要。
网上有很多访问统计的程序、网站,为了获取更多的客户端信息,这些都使用JavaScript来获取客户端信息。但是当客户端不支持 JavaScript 时便不能很好的统计访问数据。
Apache/IIS 等 web 服务器记录了每一次访问请求,记录的内容包括访问者地址、请求内容等。这些原始数据通过第三方软件进行整理分析就可以得到我们需要的统计数据。
AWStats 是一个基于 perl 的 WEB 日志分析工具,支持多种语言(有简体中文),基于 Perl 使它能很好的在各种平台上工作。
AWStats 当前的最新版本是7.0,可以到它的主页下载。Godaddy 的空间已经支持 Perl,就不在自己的电脑上折腾,直接把下载的文件(awstats-7.0.zip)上传到空间。
看下解压出来的文件结构:
- docs/
- tools/
- wwwroot/
- cgi-bin/
- classes/
- css/
- icon/
- js/
- readme.txt
其中 docs 是AWStats 的说明文档,包括安装配置等内容,tools 是一些可能用到的附加工具,wwwroot 则是程序文件。为了保持较短的路径,我把 wwwroot 移动到空间根目录(html)并改名为awstats,并把 tools 移到 awstats 下。现在就可以给 awstats 绑定个域名来看看是否正常(不绑域名也可以,只是要用主域名的路径去访问):
http://域名/路径/cgi-bin/awstats.pl?config=model
现在已经可以打开 AWStats 了,但是还没有数据,全部都显示 0。AWStats 的配置文件是保存在 cgi-bin 目录下名为 awstats.配置名.conf 形式的文件,可以直接编辑或者使用 tools 目录下的 awstats_configure.pl (在 Godaddy 空间上到最后创建文件的时候失败,已经配置读写权限)。cgi-bin 目录下已经有一个 awstats.model.conf 文件,因为我只需要一个,就直接把 model 改为我自己的名字。
第一个需要改配置的是 LogFile,它指定了 AWStats 的数据源。可以直接填写文件路径,也可以使用命令管道。如果日志来源已经按时间分割,还可以使用上面列出的变量替换实际值。例如:%MM 是以2位数表示的当前月分,%DD-5 是以2位数表示的当前时间之前5个小时时的日期。
Godaddy 的日志文件保存在 /stats/logs 目录下,并且已经按日期分割好。这里可以填写为“cat ../../stats/logs/ex%YYYY%MM%DD*.log |”(路径相对于 awstats.pl 文件)。如果只要每月统计的话,Godaddy 也提供了每月打包的文件,设置为“unzip -p ../../stats/logs/logarchive.%YY_%MM.zip |”。
接下来要改的是 SiteDomain,这个简单,只要把它改成你的域名就可以了。
最后要改的是 DirData, 用来保存 AWStats 整理后的数据。这里在 awstats 目录下创建一个 data 文件夹来保存,设置为 “../data”。
现在可以 ssh 登录到服务器上执行“./awstats.pl –update –config=配置名”来更新数据了。如果没有开通 ssh 的话也可以修改配置文件里的 AllowToUpdateStatsFromBrowser 值为 1,在最近更新的日期旁边会出现个“立即更新”的链接。
每天更新一遍数据是很烦人的,像这种重复就应该交给电脑来做。Godaddy 空间提供了计划任务的功能,可以定时执行一些命令,点击网站管理的 Content 菜单下的 Cron job Manager 打开。

默认情况下搜索引擎的中文关键字会乱码,只要打开DecodeUTFKey插件就可以解决(注释掉配置文件里“LoadPlugin=”decodeutfkeys””这一行,或者自己添加)。
打开你的 AWStats 看看吧!
http://域名/路径/cgi-bin/awstats.pl?config=配置名