YY博客

分享英语网站运营的经验

By

apache日志设置与分日期存储

主讲2点:
1、让apache log记录refer以及user-agent
2、让apache log按照日期来自动保存,并修改日志存放位置

部分安装包中的log是不记录refer和ua的,这个时候就需要我们修改一下配置文件,打开httpd.conf文件,找到以下部分:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common

 

可以修改为

   LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” common
在后面添加
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

这样就完成了记录refer以及ua

登陆SSH,安装cronolog
wget cronolog-1.6.2.tar.gz
tar zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make
make install

不建议3步合并,因为我图省事,直接./configure&make&make installl了,结果装了几次都没安装上,可能人品不好。
which cronolog
查看一下cronolog的安装位置,得到
/usr/local/sbin/cronolog

在httpd.conf文件中找到虚拟主机配置段,也就是VirtualHost段(直接搜VirtualHost也可以),将默认格式更改为:
CustomLog "|/usr/local/sbin/cronolog /home/www/default/logs/%Y%m%d.log" combined
其中的/home/www/default/logs/为日志路径
%Y%m%d.log为日志名,比如今天的日期是2012年12月6日,那么日志就为20121206.log

 

日志分析软件

逆火、WebLog Expert、Web Log Explorer,就推荐这3款,尤其是最后一款,比较推荐。不过后2个都是英文的,看不惯的话就用逆火吧。
软件只是辅助手段,其实光年的那个,用来拆分是个不错的选择,大部分时候不怎么用,都是直接在VPS上把需要的数据拆分出来,直接下载。

By

MAPn(Apache)环境下的网站日志分日期存储

先说下环境:MAPN的一键安装包,具体安装方法请见(mapn安装教程 http://www.yyne.com/30.html

Apache环境下的web服务器日志轮循比较好的方式有三种:
第一种方法是利用Linux系统自身的日志文件轮循机制:logrotate;
第二种方法是利用apache自带的日志轮循程序rotatelogs;
第三种是使用在apache的FAQ中推荐发展已经比较成熟的一个日志轮循工具cronolog。

我着重说下第三种,也比较方便,对于同服务器上绑定不同的网站也比较适合。

Cronolog是一款日志轮循(rotation)工具,可以用它来把Apache、Tomcat等Web服务器上输出的日志切分成按日或月保存的文件。官网:http://cronolog.org/

1.安装软件cronolog。

wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
tar zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make && make install

2.修改lighttpd配置文件使用cronolog进行日志rotate

lighttpd目录地址:/usr/local/mapn/vhosts/apache,将.conf文件下载本地修改。

配置cronolog分割apache log

语法:/path/to/cronolog [OPTIONS] logfile-spec

CustomLog “|/usr/local/sbin/cronolog /home/wwwlogs/网站名称(自定义)/access_%Y-%m-%d.log” common

命令解释如下:

CustomLog ”|(cronolog目录)  log地址/access_%Y%m%d.log” common

同样ErrorLog也是一样的方法,可以写作如下:

ErrorLog ”|/usr/local/sbin/cronolog /home/wwwlogs/error_%Y%m%d.log”

如果你不知道cronolog路径的话,运行命令#whereis cronolog

保存后重启lighttpd使配置生效。如果配置成功,系统进程里将会多出两个cronolog的进程,新的日志将保存在配置目录中按照年月日建立文件夹下