Apache虚拟目录日志分割及发布-阿里云开发者社区

开发者社区> 云计算> 正文
登录阅读全文

Apache虚拟目录日志分割及发布

简介:

1、日志分割设置  

    
  Apache的日志分割要借助于目前国际上最流行、最通用的日志分割工具cronolog。日志轮循工具cronolog,已经是比较的相当成熟,在不中断apache服务器的情况下,它能严格的按每一天00:00:00-23:59:59来实现日志文件的分割,同时不受apache服务器重启的影响,安装配置十分简单。
 
第一步    安装cronolog
 
首先需要下载和安装cronolog,可以到[url]http://www.cronolog.org/[/url] 下载最新版本的cronolog。下载完毕以后,解压安装即可,方法如下所示:


[root@www tmp]# tar xvfz cronolog-1.6.2.tar.gz
[root@www tmp]# cd cronolog-1.6.2
[root@www cronolog-1.6.2]# ./configure
[root@www cronolog-1.6.2]# make
[root@www cronolog-1.6.2]# make check
[root@www cronolog-1.6.2]# make install

完成cronolog的配置和安装,默认情况下cronolog是安装在/usr/local/sbin下。
 
第二步   配置httpd.conf
 
在此认为apache服务器安装在/usr/local/目录下;修改apache日志配置文件httpd.conf如下所示:
1、设置日志格式定义
httpd.conf中的以下语句:
LogFormat “%h %l %u %t \”%>s %b \”%{Referer}I\” \%{User-Agent}I\””combine
 
改为:
LogFormat “%h %l %u %t \”%>s %b \”%{Referer}I\” \%{User-Agent}I\””
 
2、设置TransferLog命令
CustomLog /usr/local/apache/logs/access_log common
或是
CustomLog /usr/local/apache/logs/access_log combine
 
TransferLog “|/usr/local/sbin/cronolog /usr/local/apache/logs/%Y%m%daccess_log”
备注:
/usr/local/sbin/cronolog cronolog安装后的路径。
/usr/local/apache/logs/ 为日志分割时候日志保存位置。
 
如果是有虚拟站点,那么需要对虚拟站点另外单独设置TransferLog命令,这样保证不同的虚拟站点的日志保存在不同的位置,也就是说每个虚拟站点都有单独的日志文件。如下所示,虚拟站点[url]www.abc.com[/url]中添加TransferLog命令,保存的日志文件为单独的文件%y%m%dabcaccess_log
<VirtualHost xx.xx.xx.xx:80>
       ServerAdmin   [email]webmaster@dummy-host.example.com[/email]
       DocumentRoot       /usr/local/apache/docs/xxxx
       ServerName    [url]www.abc.com[/url]
       TransferLog   “|/usr/local/sbin/cronolog /usr/local/apache/logs/%Y%m%dabcaccess_log”
</VirtualHost>
 
 
第三步   重新启动Apache服务器
 
保存设置,重启apache服务器,浏览网站后,就会在 /usr/local/apache/logs/ 目录下产生当天对应的虚拟网站日志文件。
 

2、设置虚拟目录来发布日志

第一步    打开Apache配置文件httpd.conf,在其中(如果是虚拟主机发布,那么需要在虚拟配置范畴内)添加以下代码:
Alias /wwwlogs/ "/usr/local/apache/logs/"
<Directory "/usr/local/apache/logs/">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from xxx.xxx.xxx.xxx
</Directory>
 
 以上的设置把/usr/local/apache/logs/目录下面的所有日志通过/wwwlogs/ 这个虚拟目录发布处理。同时这个虚拟目录禁止除了xxx.xxx.xxx.xxx(网站群流量分析服务器)以外的所有IP地址访问。
 
第二步    重新启动Apache服务器
 

本文转自 saturn 51CTO博客,原文链接:
 http://blog.51cto.com/saturn/95788

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: