比较好用的工具有:
主要是对access.log进行分析;
- 安装GoAccess,官方有详细的介绍,这里记录一下:
yum install glib2 glib2-devel GeoIP-devel ncurses-develcd ~/softwaregit clone https://github.com/allinurl/goaccess.git cd goaccessautoreconf -fi./configure --enable-geoip --enable-utf8 make && make install#下面运行GoAcess,相关参数参考官网goaccess -f /var/log/nginx/access.log -a#输出为html文件goaccess -f /var/log/nginx/access.log -a > /data/www/nginx.html
可以使用cron晚上定时生成当天的日志html。找不到libgeo的话可以加上:
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
- awstats的安装
wget http://prdownloads.sourceforge.net/awstats/awstats-7.2.tar.gztar zxf awstats-7.2.tar.gzmv awstats-7.2 /usr/local/awstatscd awstats/toolsperl awstats_configure.pl#这里会要求选择日志种类,选择none ;下一步,输入自己的域名#awstats_configure会在/etc/awstats/目录生成相应域名的配置文件;例如:awstats.example.conf#下面配置日志格式:vim /etc/awstats/awstats.example.conf#将LogFile改为我们需要的日志文件#这里是按天读取前一天相应文件#LogFile="/usr/local/nginx/logs/access_%YYYY-0%MM-0%DD-24.log"LogFile="/usr/local/nginx/logs/access.log"#日志格式LogFormat="%host %time1 %methodurl %code %bytesd %refererquot %uaquot"
这里可能会出现AWStats did not find any valid log lines that match your LogFormat parameter...的问题,只要将原来的access.log文件重新生成即可。可以使用 logrotate -f /etc/logrotate.d/nginx
网上很多说要配置nginx分割日志的脚本,但是为什么要忽略logrotate这个工具呢?
下面配置Nginx站点
#复制官方的配置文件到nginx配置文件目录下cp /usr/local/awstats/tools/nginx/awstat-nginx.conf /etc/nginx/conf.d/vhost/awstats.conf#这里会出现找不到cgi-bin/fcgi.php的情况,因为这个文件在tools/nginx目录下;复制过来就行cp /usr/local/awstats/tools/nginx/fcgi.php /usr/local/awstats/wwwroot/cgi-bin/#重启Nginxservice nginx reload
访问站点的时候需要加上conf的参数,例如:
http://example.com:8081/cgi-bin/awstats.pl?config=example
多站点配置的方法:
后来发现,直接yum install awstats就可以安装awstats了...一 一+