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; } } 最後可以將生成靜態文件設置成定時腳本!