Awstats是一个免费非常简洁而且强大有个性的网站日志分析工具,昨天领导问最近网站访问情况,虽然用了各种命令把日志统计出来了,但是非常麻烦,以前只是在apache上安装过awstats,没有在nginx上安装过,为了更省事,今天只好在nginx上安装awstats了


安装awstats前要准备php环境

[root@localhost ~]# tar xvf awstats-7.2.tar.gz 

[root@localhost ~]# mv awstats-7.2 /usr/local/awstats

[root@localhost ~]# chown -R root:root /usr/local/awstats
[root@localhost ~]# chmod -R =rwX /usr/local/awstats
[root@localhost ~]# chmod +x /usr/local/awstats/tools/*.pl 
[root@localhost ~]# chmod +x /usr/local/awstats/wwwroot/cgi-bin/*.pl

[root@localhost ~]# cd /usr/local/awstats/tools/

[root@localhost tools]# ./awstats_configure.pl    //开始配置


----- AWStats awstats_configure 1.0 (build 1.9) (c) Laurent Destailleur -----
This tool will help you to configure AWStats to analyze statistics for
one web server. You can try to use it to let it do all that is possible
in AWStats setup, however following the step by step manual setup
documentation (docs/index.html) is often a better idea. Above all if:
- You are not an administrator user,
- You want to analyze downloaded log files without web server,
- You want to analyze mail or ftp log files instead of web log files,
- You need to analyze load balanced servers log files,
- You want to 'understand' all possible ways to use AWStats...
Read the AWStats documentation (docs/index.html).

-----> Running OS detected: Linux, BSD or Unix

-----> Check for web server install

Enter full config file path of your Web server.
Example: /etc/httpd/httpd.conf
Example: /usr/local/apache2/conf/httpd.conf
Example: c:\Program files\apache group\apache\conf\httpd.conf
Config file path ('none' to skip web server setup):
> none	//这里用的是nginx,所以选择none

Your web server config file(s) could not be found.
You will need to setup your web server manually to declare AWStats
script as a CGI, if you want to build reports dynamically.
See AWStats setup documentation (file docs/index.html)

-----> Update model config file '/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf'
  File awstats.model.conf updated.

-----> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ? y	//创建一个新的配置文件

-----> Define config file name to create
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Example: demo
Your web site, virtual server or profile name:
> web		//基于域名

-----> Define config file path
In which directory do you plan to store your config file(s) ?
Default: /etc/awstats
Directory path to store config file(s) (Enter for default):
> 

-----> Create config file '/etc/awstats/awstats.web.conf'
 Config file /etc/awstats/awstats.web.conf created.

-----> Add update process inside a scheduler
Sorry, configure.pl does not support automatic add to cron yet.
You can do it manually by adding the following command to your cron:
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=web
Or if you have several config files and prefer having only one command:
/usr/local/awstats/tools/awstats_updateall.pl now
Press ENTER to continue... 


A SIMPLE config file has been created: /etc/awstats/awstats.web.conf
You should have a look inside to check and change manually main parameters.
You can then manually update your statistics for 'web' with command:
> perl awstats.pl -update -config=web
You can also build static report pages for 'web' with command:
> perl awstats.pl -output=pagetype -config=web

Press ENTER to finish...

[root@localhost web]# vim /etc/awstats/awstats.web.conf 
LogFile="/data/www/logs/web/web.access_%YYYY%MM%DD-24.log"  //指定日志文件,这里设置的是昨天的所以-24,日志名:web.access_20141202.log  
SiteDomain="域名"	//域名全部 www.tiger.com
DirData="/usr/local/awstats"	//指定awstats安装位置

//日志分析后会存放到指定位置,nginx这用的是静态文件,apache是通过cgi程序读取统计结果数据库输出
[root@localhost web]# /usr/local/awstats/tools/awstats_buildstaticpages.pl -update  -config=web -lang=cn -dir=/usr/local/awstats/html/web/

-update	更新
-config=web  awstats.pl会去读取-config中的参数,把web扩展成 awstats.web.conf
-dir=	 指定静态文件位置

nginx配置文件如下:
server {
        listen       80;
        server_name  log1.tiger.com;
        root /usr/local/awstats/html;
        autoindex on;	//目录显示
         charset gb2312;
        access_log  /data/www/logs/log.access.log;
        error_log   /data/www/logs/log.error.log;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location / {
        }
                location ~ ^/icon/ {             # 图标目录  
                root   /usr/local/awstats/wwwroot;  
                index  index.html;  
                access_log off;
                charset gb2312;  
         }  
        location ~ \.php$ {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
                include        fastcgi_params;
        }
    }
最后可以将生成静态文件设置成定时脚本!