您的位置:博客首页 >> Web服务器 >> Nginx日志管理

Nginx日志管理

日志编号:34 发表时间: 2011-12-10 12:36:30 关注次数:4830
1、生成日志:
加工以下代码加到http或server块(区别是全局和虚拟主机):
[shell]log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for"';

  access_log  /var/www/logs/access.log  access;
[/shell]
2、日志分割:
vi /usr/local/webroot/nginx/sbin/cut_nginx_log.sh,输入:
#!/bin/bash
# This script run at 00:00
logs_path="/var/www/logs/"
mv ${logs_path}access.log ${logs_path}access_log_$(date -d "yesterday" +"%Y%m%d").txt
kill -USR1 `cat /var/www/logs/nginx.pid`


crontab -e输入:
00 00 * * *. /bin/bash /usr/local/webroot/nginx/sbin/cut_nginx_log.sh 

59 23 * * *. /bin/bash /usr/local/webroot/nginx/sbin/cut_nginx_log.sh (这条表示23时59分,举此例只为说明时间顺序意义)

保存即可。

3、不记录ico|gif|swf|css|js:

server块加入:
#浏览器缓存

  location ~ .*\.(htm|html|doc|jpg|jpeg|png|bmp)$
    {
      expires      1d;
    }
location ~ .*\.(ico|swf)$
    {
      expires      30d;
access_log   off;
    }
  location ~ .*\.(gif|js|css)$
    {
      expires      2d;
access_log   off;
    }


4、日志分析
1)著名的AWStats
AWStats是功能最强,报表最直观,使用最广泛的日志分析系统。不过需要安装环境,可能会吓倒一群人。
主页:http://awstats.sourceforge.net
本站日志:http://www.flashgou.com/show/62
2)软件小工具
这款小工具马马乎乎,体积小巧。小红伞没报警,瑞星防火墙也没提示,可以放心使用:

5878da7705486dfd6bc268995a188584.rar

5、记录日志
对于不支持日志记录的虚拟主机,可以在php文件中加入如下代码
<?php
//function_exists('fopen');
 $outstring=$IP.'-'.$_SERVER["SCRIPT_NAME"].' '.$_SERVER["REQUEST_METHOD"].' '.$_SERVER["HTTP_REFERER"].' '.$_SERVER["HTTP_USER_AGENT"].chr(10);
 $fh=fopen('access_log_'.date(Y-m-d).'.txt',"a+");
 fwrite($fh,$outstring);
 fclose($fh);
?>
参考:http://blog.s135.com/nginx_php_v6/
本站不提供讨论功能。
本站所有非新闻类文章均为原创,且禁止转载。
本站为了获得更多流量赚取广告费,难免会有以次充好的文章,望见谅,勿鄙视。