操作系统:centos 6.3
下载解压webalizer
wget ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.23-05-src.tar.bz2 tar zxf webalizer-2.23-05-src.tar.bz2 && cd webalizer-2.23-05
在lang 目录找到 webalizer_lang.simplified_chinese 将文件格式转化为utf-8,可以借助外部工具,修改后放回即可.这里我使用EditPlus 3进行格式转换,大家可以去网上下载一些软件,将文件格式转换即可,如无需汉化,此步骤可略过.
yum -y install fonts-chinese 安装中文字体
cd .. && vi graphs.c
在代码最后一行
int ashex2int(char *str) { // returns base-10 integer value from a 2 ASCII hex number return from_hex(str[1])+(from_hex(str[0])*16); }
增加下列代码
void gdImageString(gdImagePtr im, gdFontPtr font, int x, int y, unsigned char *s, int color) { gdImageStringFT(im, 0 , color, "/usr/share/fonts/chinese/TrueType/ukai.ttf", 9 , 0.0, x, y+9, s); } void gdImageStringUp(gdImagePtr im, gdFontPtr font, int x, int y, unsigned char *s, int color) { gdImageStringFT(im, 0 , color, "/usr/share/fonts/chinese/TrueType/ukai.ttf", 9 , -PI/2, x, y-9 , s); }
安装webalizer
yum -y install gd-devel libpng-devel zlib-devel Geoip* ./configure --prefix=/usr/local/webalizer --enable-geoip --with-language=simplified_chinese make && make install cd /usr/local/webalizer/etc cp webalizer.conf.sample webalizer.conf vi /etc/webalizer.conf LogFile /var/log/nginx/access.log 指定日志文件位置,可以是压缩包 LogType clf 设置日志类型 OutputDir /var/www/vhosts/log 生成统计数据记录目录 HostName rocdk890 GeoIP yes 启用geoip功能 GeoIPDatabase /usr/share/GeoIP/GeoIP.dat 指向geoipdatabase路径 Incremental yes IncrementalName /var/www/vhosts/log Incremental 为yes时,使每天分析结果存在,否则只会为当时分析的,LogType定义为clf,所以要分析的nginx日志的格式与clf符合,要不分析时会报错误.
cron 定时执行脚本 按天目录生成报告
#!/bin/bash webdir="/var/www/docs/`date '-d -2 day' '+%Y%m%d'`/" if [ ! -d $webdir ];then mkdir -p "$webdir" fi /usr/local/webalizer/bin/webalizer -c /usr/local/webalizer/etc/webalizer.conf -o $webdir
apache 配置
<VirtualHost *:80> DocumentRoot /var/www/docs ServerName webalizer.v1cn AddDefaultCharset UTF-8 <Directory "/var/www/docs"> Options Indexes </Directory> </VirtualHost>