Chinaunix首页 | 论坛 | 博客
  • 博客访问: 127392
  • 博文数量: 20
  • 博客积分: 536
  • 博客等级: 中士
  • 技术积分: 295
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-14 11:04
文章分类
文章存档

2013年(4)

2012年(16)

我的朋友

分类: LINUX

2012-07-30 18:33:35

参考链接:http://hi.baidu.com/ugo5/blog/item/a2bc5c8c7c4733e1503d92ee.html

 

nginx cronolog日志分割配置文档,根据下面方法,每小时分割一次NGINX访问日志

1.nginx日志配置

log_format main '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"' ;

在相应的日志位置调用日志格式,并将日志写入管道。

access_log /www/log/access_log_pipe main;

2.先创建一个命名管道

mkfifo /www/log/access_log_pipe

3.配置cronolog:

nohup cat /www/log/access_log_pipe | /usr/sbin/cronolog  /www/log/domain.access_%Y-%m-%d-%H.log  &

对于大日志,甚至可以按分截断

4.启动Nginx

/usr/local/nginx/sbin/nginx

注意:

cronolog必须在nginx启动前启动

 

 

个人感受:

1. 每日志每管道不如apache那样爽快。

2. 管道必须在nginx 启动前启动。如果nginx 未运行,开启cronolog 后(即管道),nginx –t 做检测会中断 管道。而cronolog不开启,nginx –t 及启动全部会受影响。(可以通过strace 查看)

3. 如无特殊要求,还是建议按天通过常规计划任务reload nginx方法进行截断。如需按时甚至按分截断,可以考虑通过计划任务+脚本处理。

阅读(3749) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~