EMER
  • blogger
  • Jone He
日历
标签
分类
存档
最新评论
Twitter
  • ただいま近くにおりません、ぴっという発信音の後にお名前、電話番号と用件をお話ください。
    2008-12-23 21:12
  • 资本是流动的,在流动过程中总会溅出那么一点,没有资本的人要做的就是能接住溅出的那部分!
    2008-12-09 14:08
  • 今天是值得记忆的日子——为了2009!
    2008-11-25 12:46
  • 星火 + 瘟疫 = SEO的最高境界!
    2008-11-16 08:49
  • 我很确信自己的脚下,却不知道往哪个方向迈,更不知道意义何在。
    2008-08-25 03:57
  • 最近在看的书《中国:奇迹的黄昏》
    2008-08-20 05:58
  • 快奥运了,有人很闲,有人很忙,我是后一种!
    2008-07-31 06:00
  • 有些事情,我还没有权利去做;有些快乐,我还没有权利去享受;而有些责任,我已经必须去承担。
    2008-07-07 09:04
  • 较早的»
最新日志
随机日志
音乐
链接
搜索
博客信息
  • 日志数量:22
  • 评论数量:7
  • 引用数量:0
  • 今日访问:52
  • 总访问量:30712
订阅Rss

2008-6-8 11:25 Sunday

Apache下可以通过cronolog来切割日志,Nginx下怎么实现这个功能呢?

由于nginx的配置文件不支持cronolog的管道,只好通过手动的方式来截取生成每天的各网站日志。

在nginx.conf中定义log:

在http{}内定义log格式:
log_format  combined  '$remote_addr - $remote_user [$time_local] '                     
'"$request" $status $apache_bytes_sent '
'"$http_referer" "$http_user_agent"';
log_format表示log格式,combined表示定义的格式名称,后面表示格式样式。

在server{}内定义日志文件的位置和相应的格式:
access_log  /data/weblogs/www1_access.log  combined;

nginx可接受的信号如下:
Signal    Action
TERM, INT  Terminate the server immediately
QUIT  Stop  the server
HUP  Configuration changes, start new workers, graceful stop of  old workers
USR1  Reopen log files
USR2  Upgrade the server  executable
WINCH  Graceful Stop (parent process advise the children to  exit)

kill -HUP pid 重新应用配置文件
kill -USR1 pid 重新刷新log

通过如下方式达到日志轮询的目的:

# vi logcron.sh
log_dir="/data/weblogs"
date_dir=`date +%Y/%m/%d/%H` 
/bin/mkdir -p  ${log_dir}/${date_dir} > /dev/null 2>&1
/bin/mv  ${log_dir}/access.log ${log_dir}/${date_dir}/access.log
kill -USR1 `cat  /opt/nginx/logs/nginx.pid`

定义一个cron,在每天晚上23:59:50执行这个脚本

标签: nginx cronolog

评论(0) 引用(0) 浏览(657)