Nginx的日志配置如下:
#定义日志打印的格式
log_format channel_access '$remote_addr $remote_user [$time_local] "$host" "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $cookie_channel $cookie_dvid $cookie_cityId $cookie_pnid to "$upstream_addr" t $upstream_response_time s "$upstream_status" t $request_time "$http_x_forwarded_for" $request_length';
# 声明log log文件路径 log格式
access_log /var/log/nginx/access.log channel_access;
上面是http作用域下的日志配置,除此之外,nginx还有server和location作用域可以配置日志,日志级别 location > server > http 。
nginx的日志如果不做切分的话会在一个文件中一直追加,导致日志文件越来越大,所以通过编写脚本来实现控制日切的功能,同时清理存在超过30天的文件。
脚本如下:
#!/usr/bin/bash
# 日志存放天数
DAYS=7
# 日志文件存放目录
logs_path=/var/log/nginx/access.log
# nginx进程pid
nginx_pid=`cat /usr/local