{{ cat }}'s docs

26.7.0: NGINX配置-日志&切割脚本


0. 日志配置

1) 日志格式配置

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

2) 如何配置日志

access_log  logs/access.log  main;

3) 不记录特定格式文件的访问日志

location ~* \.(gif|jpg|jpeg|png|bmp|swf)$
        {
                expires 30d;
                access_log off;
        }
location ~* \.(js|css)$
        {
                expires 12h;
                access_log /dev/null;
        }

关闭日志记录可以用off和/dev/null(系统黑洞)

4) error日志配置

## error_log 级别分为:
debug,info,notice,warn,error,crit
默认为crit
error_log  /your/path/error.log crit;  
## 如果你的nginx遇到一些问题,比如502比较频繁出现,但是看默认的error_log并没有看到有意义的信息,那么就可以调一下错误日志的级别,当你调成error级别时,错误日志记录的内容会更加丰富。

1. 日志切割脚本

# 按照日期-时间分隔
vim /usr/local/nginx/logs/logs-rotate.sh
***************************************************
#! /bin/bash
logsdir="/web/log/"

datestr=`date +%Y%m%d-%H%M`
datedir="$logsdir$datestr"
/bin/mkdir  $datedir >/dev/null 2>&1         
/bin/mv $logsdir/*.log $datedir                
/bin/kill -HUP `cat /usr/local/nginx/nginx.pid`           
#获得当前年月日
#把产生的正确与错误信息重定向到黑洞
#把所有日志文件移动到刚才创建的文件夹里
#kill -HUP pidnumber 可以平滑的重新加载nginx配置文件
***************************************************

Contents