By Noxxxx from https://www.noxxxx.com/?post_type=post&p=453
欢迎分享与聚合,尊重版权,可以联系授权
最近还在写图床工具,涉及到日志统计相关的,比如访问统计,流量统计等,看了一下七牛的实现,发现每次创建一个bucket仓库都会自动生成一个域名,该仓库下的资源都会走这个域名。但是自己要实现这一套逻辑还是满繁琐的,所以初步还是考虑用 Nginx 的一些功能来代替,其中流量统计就考虑使用 Nginx 自带的日志来分析。
考虑到日后日志大小过大,NodeJs读取会花太多时间,所以是要按天来切割日志,刚开始我写了一个简单的脚本。利用 crontab 的定时功能。
先按日期重命名文件,然后新建一个同名的日志文件让 Nginx 来写入,实际测试发现新建的 log 并没有被写入。但是 Nginx reload 却可以,最终网上找到了 killall -s USR1 nginx 这条命令来通知 Nginx 重新创建新的日志
#!/bin/bash log_path='/home/wwwlogs/' log='pic.noxxxx.com.log' target=`date "+%Y-%m-%d_%H:%M:%S_"`${log} #echo $target cd $log_path mv $log "./"${target} killall -s USR1 nginx #touch $log
话说LNMP里已经自带了日志分割脚本的!
@明月学习笔记Blog 因为是自己做的项目,考虑到别人用的话,不想让他额外的去改Nginx配置