1. 如何进行nginx日志分析? 
  2. Awstats 是一款基于 Perl 的 WEB 日志分析工具,而 JAWStats 是一款基于 PHP 的统计套件,旨在为 Awstats 提供更为精美图形界面。 
  3. 一、安装和配置 Awstats 
  4. Awstats 安装非常简单,但必须先确认你服务器上 Perl 的环境已经就绪。 
  5. 1. 下载与安装 
  6. wget http://prdownloads.sourceforge.net/awstats/awstats-7.0.tar.gz 
  7. tar -zxf awstats-7.0.tar.gz 
  8. mv awstats-7.0 /usr/local/awstats 
  9. chown -R root:root /usr/local/awstats 
  10. 2. 生成配置文件 
  11. cd /usr/local/awstats/tools 
  12. ./awstats_configure.pl 
  13. 1) 输入 none 然后回车 
  14. 2) 输入 y 确认创建配置文件 
  15. 3) 输入配置文件名称,一般输入域名。 
  16. 4) 配置文件使用默认路径 /etc/awstats 
  17. 5) 按回车继续 
  18. 6) 按回车完成配置文件的创建 
  19. 3. 修改配置文件 
  20. Awstats 支持基于日期变化的动态日志文件,具体可以看注释。 
  21. vim /etc/awstats/awstats.test.org.conf  
  22. LogFile="/usr/local/nginx/logs/test.org/access.log"(51行左右) 
  23. 如果你希望每天能定时生成昨天的报表,可以: 
  24. LogFile="/usr/local/nginx/logs/test.org/access_%YYYY-24%MM-24%DD-24.log" 
  25. 4. 生成 Awstats 统计数据 
  26. #创建存放数据的目录 
  27. mkdir -p /var/lib/awstats 
  28. #方法一:为指定的网站生成数据。 
  29. /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=test 
  30. #方法二:为所有网站生成数据 
  31. /usr/local/awstats/tools/awstats_updateall.pl now 
  32. 5. 输出统计结果静态页面 (可选) 
  33. 若在 Apache 上,那就可以直接打开网页查看统计了,当然 Nginx 也可以省略此步,因为 JAWStats 还尚未出场呢。。。 
  34. mkdir -p /var/www/awstats/test.org # 创建存放结果的目录 
  35. /usr/local/awstats/tools/awstats_buildstaticpages.pl -update  -config=test.org -lang=cn -dir=/usr/local/apache/data -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl 
  36.  
  37. /usr/local/awstats/tools/awstats_buildstaticpages.pl Awstats 静态页面生成工具 
  38. -update -config=test.org 更新配置项 
  39. -lang=cn 语言为中文 
  40. -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl Awstats 日志更新程序路径。 
  41.  
  42. 6. 配置 Awstats 自动运行 
  43. crontab -e 
  44. 0 * * * * /usr/local/awstats/tools/awstats_updateall.pl now 
  45. 二、安装和配置 JAWStats 
  46. JAWStats 是基于 Awstats 统计数据的,但其界面更为强悍,有了JAWStats 你甚至可以抛弃第三方统计了。 
  47. 2.1. 下载与安装 
  48. wget http://static.jawstats.com/src/jawstats-0.7beta.tar.gz 
  49. mkdir /var/www/stats/ 
  50. tar -zxf jawstats-0.7beta.tar.gz -C /var/www/stats/ 
  51. cd /var/www/stats/ 
  52. cp config.dist.php config.php 
  53.  
  54. 2.2. 修改配置文件 
  55. 官方配置说明见:http://www.jawstats.com/documentation 
  56. jawstats 是支持多站点的,每个 $aConfig 对应一个站点,并可以自由切换 
  57. php 
  58.   // core config parameters 
  59.   $sDefaultLanguage      = "zh-cn"; // 设置默认语言 
  60.   $sConfigDefaultView    = "thismonth.all"
  61.   $bConfigChangeSites    = false; //是否可以更换站点 
  62.   $bConfigUpdateSites    = false; //是否可以更新统计数据 
  63.   $sUpdateSiteFilename   = "xml_update.php"
  64.   
  65.   // individual site configuration 
  66.   $aConfig["fb"] = array( // site1 网站域名(注意不能乱填) 
  67.     "statspath"   => "/var/lib/awstats/", //awstats 统计数据目录 
  68.     "updatepath"  => "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl/", //用于更新统计数据 
  69.     "siteurl"     => "http://test.org", //点击首页标题后会前往这个地址 
  70.     "sitename"    => "test.org", //首页标题 
  71.     "theme"       => "default", 
  72.     "fadespeed"   => 250, 
  73.     "password"    => "my-1st-password", //更新统计数据需要输入这个密码 
  74.     "includes"    => "", 
  75.     "language"    => "zh-cn" 
  76.   ); 
  77. ?> 
  78.  
  79. 2.3. 安装中文语言包 
  80.  
  81. 首先下载 jawstats 多国语言包,解压缩后上传替换 lang 目录。 
  82. http://www.jawstats.com/src/languagepack.zip 
  83.  
  84. 需要注意的是,你要修改 translations.php 文件的编码为UTF-8,不然全乱码了。 
  85. 另外修改汉化文件,也是translations.php,不能只修改zh-cn.js文件。 
  86. 2.4. 设置JAWStats访问密码 
  87. Nginx 支持为目录添加密码认证,若不想所有人都能访问到你的统计结果,那继续下面步骤吧。。。 
  88. 1) 使用apache 的 htpasswd 来创建密码文件 
  89. 语法:htpasswd -b -c /home/test/.htpasswds 用户名 密码 
  90. location ~ /stats { 
  91.         root /var/www; 
  92.         location ~ \.php$ { 
  93.             fastcgi_pass  127.0.0.1:9000; 
  94.             fastcgi_index  index.php; 
  95.             fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name; 
  96.             include  fastcgi_params; 
  97.         } 
  98.         auth_basic "JAWStats"; 
  99.         auth_basic_user_file /home/test/.htpasswds; 
  100.     } 
  101.  
  102. 最后大功告成,输入 https://youdomain/stats/ 便可以访问了。 
  103.  
  104.  
  105. 解决报表中没有国家代码的问题(jawstats里没有区域名称) 
  106.  
  107. # wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz 
  108. # wget  http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz 
  109. # wget  http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz 
  110.  
  111. # tar xzf GeoIP.tar.gz  
  112. # cd GeoIP-1.4.8/ 
  113. # ./configure && make && make install  
  114.  
  115. # gunzip GeoLiteCity.dat.gz  
  116. # mv GeoLiteCity.dat /usr/local/awstats/wwwroot/cgi-bin/ 
  117.  
  118. # gunzip GeoIP.dat.gz  
  119. # mv GeoIP.dat /usr/local/awstats/wwwroot/cgi-bin/ 
  120.  
  121. # vi /usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf  
  122. LoadPlugin="decodeutfkeys" 
  123. LoadPlugin="geoip_isp_maxmind GEOIP_STANDARD /usr/local/awstats/wwwroot/cgi-bin/GeoIPISP.dat" 
  124. LoadPlugin="geoip GEOIP_STANDARD /usr/local/awstats/wwwroot/cgi-bin/GeoIP.dat" 
  125. LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/awstats/wwwroot/cgi-bin/GeoLiteCity.dat"