error_log错误日志 access_log访问日志
log_format指令
语法: log_format name string …;
默认值: log_format combined “…”;
配置段: http
name表示格式名称,string表示等义的格式。log_format有一个默认的无需设置的combined日志格式,相当于apache的combined日志格式,如下所示:
日志格式允许包含的变量注释如下:
- $remote_addr, $http_x_forwarded_for 记录客户端IP地址
- $remote_user 记录客户端用户名称
- $request 记录请求的URL和HTTP协议
- $status 记录请求状态
- $body_bytes_sent 发送给客户端的字节数,不包括响应头的大小; 该变量与Apache模块mod_log_config里的“%B”参数兼容。
- $bytes_sent 发送给客户端的总字节数。
- $connection 连接的序列号。
- $connection_requests 当前通过一个连接获得的请求数量。
- $msec 日志写入时间。单位为秒,精度是毫秒。
- $pipe 如果请求是通过HTTP流水线(pipelined)发送,pipe值为“p”,否则为“.”。
- $http_referer 记录从哪个页面链接访问过来的
- $http_user_agent 记录客户端浏览器相关信息
- $request_length 请求的长度(包括请求行,请求头和请求正文)。
- $request_time 请求处理时间,单位为秒,精度毫秒; 从读入客户端的第一个字节开始,直到把最后一个字符发送给客户端后进行日志写入为止。
- $time_iso8601 ISO8601标准格式下的本地时间。
- $time_local 通用日志格式下的本地时间。
Nginx 日志分割
#vim logs.sh
#!/bin/bash
#Nginx日志存放位置
day=${logs}/sk_access.log$(date -d "yesterday" "+%Y_%m_%d")
mv ${logs}/sk_access.log ${day}
touch ${logs}/sk_access.log
/usr/local/nginx/sbin/nginx -s reload
:wq
nginx日志定期删除
# cat rm_logs.sh
#!/bin/bash
#
###########################
#定期删除七天前nginx的日志#
###########################
find /usr/local/nginx/logs/sk_access.log* -mtime +7 -type f -name sk_access.log\* |xargs rm -f
find /usr/local/nginx/logs/error.log* -mtime +7 -type f -name error.log\* |xargs rm -f
#创建计划任务
#crontab -e
0 0 * * * /bin/bash/logs.sh
0 0 * * * /bin/bash/rm_logs.sh