Linux下安装awstats日志统计分析
1. 下载安装
cd /data/software
wget http://prdownloads.sourceforge.net/awstats/awstats-7.0-1.noarch.rpm
2. 开始配置
安装依赖包:
yum -y install perl-libwww-perl.noarch perl-CPAN
rpm -ivh awstats-7.0-1.noarch.rpm
cd /usr/local/awstats/tools
perl awstats_configure.pl
3. 将缺省awstats.model.conf 命名成common.conf
cd /etc/awstats
mv awstats.model.conf common.conf
4. 修改公共配置, 查找到对象项目 去除前面的 # 号,并修改对应的路径
LoadPlugin="decodeutfkeys"
LoadPlugin="geoip GEOIP_STANDARD /usr/local/awstats/plugins/GeoIP.dat"
LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/awstats/plugins/GeoLiteCity.dat"
LoadPlugin="decodeutfkeys"
DNSLookup=0
关闭awstats配置文件中反向dns查找(DNSLookup=0)。
DNSlookup是用来根据参观者ip查询参观者的网域/国家信息。一般情况下DNS查询的很慢,具体取决于网络环境和系统配置。关闭DNSlookup会节省99%的分析时间。实际测试62M日志(30万条记录)如开启dnslookup分析时间在2小时以上,而关闭dnslookup的话分析时间在1分钟,极大缩短了分析时间。关掉dnslookup的损失就是无法获得参观者的国家信息,awstats官方建议如需要国家信息,采用更加精确的geoip插件来代替dnslookup。
5. 修改模板程序
vi /usr/local/awstats/wwwroot/cgi-bin/awstats.pl
查找 $LIMITFLUSH = 5000
将他的值增加10倍,默认为5000 设置为 50000 可以有效提高统计的速度(减少磁盘IO),并避免按月汇总数据导致的统计文件过大;
6. 添加统计站点的配置文件 命名规则:awstats.sitename.conf
按照下面的样例设置配置文件:日志路径请按自己服务器日志命名方式修改
vi awstats.www.yourdomain.com.conf
录入:
Include "common.conf"
LogFile="/home/logs/www.yourdomain.com/%YYYY-24/%MM-24/access.%YYYY-24%MM-24%DD-24.log"
SiteDomain="www.yourdomain.com"
HostAliases="yourdomain.com"
DefaultFile="index.html"
DirData="/home/awstats/htdocs"
HostAliases 有则写,无则删除
DirData 分析页面输出目录,为当前 nginx 或这 apache 配置的web访问目录
日志文件需要每天进行切割保存便于统计
如何自动切割 : http://blog.csdn.net/zhouzme/article/details/18909185
新增配置则直接 cp awstats.www.yourdomain.com.conf awstats.www.anotherdomain.com.conf 复制后修改配置域名即可
7. 安装插件
cd /data/software
wget http://www.maxmind.com/download/geoip/api/c/GeoIP.tar.gz
tar zxvf GeoIP.tar.gz
cd ./GeoIP-1.4.8
./configure
make && make install
wget http://www.maxmind.com/download/geoip/api/perl/Geo-IP-1.40.tar.gz
tar zxvf Geo-IP-1.40.tar.gz
cd Geo-IP-1.40
perl Makefile.PL
如果出现错误: perl Makefile.PL PP=1
make && make install
wget http://search.cpan.org/CPAN/authors/id/B/BR/BRICAS/Geo-IPfree-1.121660.tar.gz
tar zxvf Geo-IPfree-1.121660.tar.gz
cd Geo-IPfree-1.121660
perl Makefile.PL
make && make install
mkdir /usr/local/awstats/plugins
cd /usr/local/awstats/plugins
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
gunzip GeoLiteCity.dat.gz
gunzip GeoIP.dat.gz
8. 生成静态文件
将图标文件拷贝到 web 根目录
cp /usr/local/awstats/wwwroot/icon/ /home/awstats/htdocs -rf
/usr/local/awstats/tools/awstats_buildstaticpages.pl -config=www.yourdomain.com -lang=cn -dir=/home/awstats/htdocs -update
9. 定时生成
crontab -e
# awstats
0 0 * * * /usr/local/awstats/tools/awstats_buildstaticpages.pl -config=www.yourdomain.com -lang=cn -dir=/home/awstats/htdocs -update
10. 配置外网访问当前生成的页面
如:http://awstats.yourdomain.com/awstats.www.yourdomain.com.html 即可访问
完成。
注意:每次统计的数据都是昨天的,当天数据只有第二天才能看到
Linux下安装awstats日志统计分析的更多相关文章
- Linux下安装Apache并以mod_wsgi方式部署django站点
源码编译方式安装Apache 首先下载Apache源码压缩包,地址为http://mirror.bit.edu.cn/apache/httpd/ 继续下载apr和apr-util压缩包,地址为http ...
- Linux下安装loadrunner步骤及遇到的问题
Linux下实现压力测试,只能在Linux下安装加压器---load-generator,然后通过本地录制脚本,通过loadrunner controller 的Scenario-->Load ...
- linux 下安装redis以及php Redis扩展
[php] view plaincopy在CODE上查看代码片派生到我的代码片 linux 下安装redis以及php Redis扩展 环境配置: centos6. nginx/ php/ mysql ...
- linux下安装jira详细步骤
首先从官网下载jdk的安装包,将jdk的安装包上传到虚拟机或者服务器,在./usr/local/目录下面创建一个java目录:mkdir java 等等,具体祥看本文,希望对你有所帮助 linux下安 ...
- 自动化服务部署(二):Linux下安装jenkins
jenkins是一个Java开发的开源持续集成工具,广泛用于项目开发,具有自动化构建.测试和部署等功能,它的运行需要Java环境. 上篇博客介绍了Linux下安装JDK的步骤,这篇博客,介绍下Linu ...
- Linux 下安装 tomcat
前提:已经安装配置好了 JDK 1.下载二进制文件 wget http://us.mirrors.quenda.co/apache/tomcat/tomcat-9/v9.0.19/bin/apache ...
- 【云服务器部署】---Linux下安装MySQL
[云服务器部署]---Linux下安装MySQL 有关如何阿里云ECS建网站,推荐一片文章,我是是通过这篇文章安装tomcat和jdk的 网址:阿里云ECS建网站(建站)超详细全套完整图文教程! 注意 ...
- 环境部署(二):Linux下安装jenkins
jenkins是一个Java开发的开源持续集成工具,广泛用于项目开发,具有自动化构建.测试和部署等功能,它的运行需要Java环境. 上篇博客介绍了Linux下安装JDK的步骤,这篇博客,介绍下Linu ...
- Nginx入门篇-基础知识与linux下安装操作
我们要深刻理解学习NG的原理与安装方法,要切合实际结合业务需求,应用场景进行灵活使用. 一.Nginx知识简述Nginx是一个高性能的HTTP服务器和反向代理服务器,也是一个 IMAP/POP3/SM ...
随机推荐
- 结构-行为-样式-Angularjs-ngSanitize
简单点,上代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...
- vmare虚拟化解决方案
最近刚入职一家公司!主要是做vmare虚拟化的,虽然跟openstack不太沾边,但现在很多openstack都会兼容vmare程序,最终会如何我拭目以待,今天写这个也是做一个总结. 虚拟化.云计算. ...
- js-时间函数相互转化
1.日期函数 获取当前时间对象 var date = new Date(); 2.日期函数 => 时间对象 (yyyy-mm-dd hh:mi:ss => 时间对象) endLogTime ...
- [ An Ac a Day ^_^ ] hdu 2830 矩阵交换II
第一眼觉得是个dp 但是有了可以随意交换的条件觉得简单了不少 但是还是没做出来…… 看了一下别人的做法才觉得自愧不如 因为所有列都可以随意交换 应该尽量把长的放在一起 那么将所有的矩形排序之后 以第j ...
- js在关闭页面前弹出确认提示【转载】
最近项目中出现个bug,就是导出数据后,会提示确认导航,其实实际需求并不需要这个提示,可能是之前遗留的问题.查了下资料是在触发了onbeforeunload事件,那么剩下的就是代码组织问题了. 众所周 ...
- 对于行高(line-height)的一些理解
刚一开始学习这个特性的时候,总是出一些当时看起来很奇怪的问题.现在决定重新整理一下.毕竟使用css,十行揉在一起凑出效果是一种使用,知道为什么会有这种效果也是一种使用.我们需要做一些测试,所以首先需要 ...
- Scala 控制结构
Scala内建的控制结构屈指可数,仅有if, while, for, match, try和函数调用而已. 几乎所有的Scala控制结构都会产生某个值(while和 do while虽然不能产生有意义 ...
- 从键盘或文件中获取标准输入:read命令
文件的描述符和重定向 文件描述符是和文件的输入.输出相关联的非负整数,Linux内核(kernel)利用文件描述符(file descriptor)来访问文件.打开现存文件或新建文件时,内核会返回一个 ...
- Nodejs 学习
1,Node.js REPL交互式解释器:nodejs安装完毕后,打开终端,进入到nodejs的安装目录下,输入node,进入到新的页面,该页面称为Node.js REPL (交互式解释器):可以简单 ...
- ubuntu配置LAMP
1.安装Apache sudo apt-get install apache2 如果显示未找到软件则执行sudo apt-get update(建议使用ubuntu正在支持的系统版本,不在支持的版本可 ...