标签:nginx
一、Nginx日志配置 分类
access_log 访问日志配置
log_format 定义日志格式
open_log_file_cache 设置日志缓存
log_not_found 记录不存在 日志配置
log_subrequest 记录子请求的日志配置
rewrite_log Rewrite 日志
error_log 错误日志
二、日志配置
1、access_log 配置
语法:access_log path [format [buffer=size [flush=time]]];
access_log path gzip[=level][buffer=size][flush=time];
access_log syslog:server=address[parameter=value][format];
access_log off:
默认值: access logs/access.log main;
可配置字段: http、server、location、 if in location、limit_execpt
Gzip 压缩等级
Buffer 设置内存缓存区大小
Flush 保存在缓存区中的最长时间
不记录日志:access_log off;
使用默认combined 格式记录日志: access_log logs/access.log main;
2、log_format配置
语法:log_format name string …;
默认值: log_format main "…";
配置段: http
----------------------
name:表示日志格式的名称
string:表示定义的格式
log_format 有一个默认的无需配置的main日志格式:
注意:如果Nginx当做负载均衡器、反向代理使用后,web服务器无法直接获取到客户端的真是的IP地址了。
$remote_addr 获取反向代理的IP地址。 反向代理服务器的转发请求的http头信息中,可以增加X-Forwarded-For 信息。用来计入客户端IP地址和客户端请求的服务器地址
变量参数详解:
$remote_addr,$http_x_forwarded_for 记录客户端IP地址
$remot_user 记录客户端用户名称
$request 记录请求的URL和HTTP协议
$status 记录请求状态码
$body_bytes_sent 发送客户端的字节数,不包括响应头的大小,
$bytes_sent 发送给客户端的总字节数
$connection 连接的序列号
$connection_request 当前通过一个链接获得的请求数量
$msec 日志写入时间。单位为秒,精度是毫秒
$pipe 如果请求是通过HTTP流水线(pipelined)发送,pipe值为 “p”,否则为“.”。
$http_referer 记录从哪个页面连接访问过来的
$http_user_agent 记录客户端浏览器相关信息
$request_length 请求的长度(包括请求行,请求头,和请求正文)
$request_time 请求处理时间,单位为秒,精度为毫秒
$time_ios8601 ISO8601标准格式下的本地时间
$time_local 通用日志格式下的本地时间
3、open_log_file_cache配置
语法:open_log_file_cache max=N [inactive=time] [min_user=N] [valid=time];
open_log_file_cache off;
默认配置:open_log_file_cache off;
可配置字段: http、server、location
对于每一条日志记录,都将是先打开文件,再写入日志,然后关闭。可以使用open_log_file_cache来设置日志文件缓存(默认是OFF),格式如下:
max:设置缓存中的最大文件描述符数量,如果缓存被占满,采用LRU算法将描述关闭
inactive:设置存活时间,默认是10秒
min_uses:设置在inactive 时间段内,日志文件最少使用多少次后,该日志文件描述符记入缓 存中,默认是1次。
4、log_not_found 配置
语法:log_not_found on|off;
默认值:log_not_found on;
可配置字段:http、server、location
作用:是否正在error_log中记录不存在的错误。默认是。
5、log_subrequest配置
语法:log_subrequest on|off;
默认值:log_subrequest off;
可配置字段:http、server、location
是否在access_log 中记录子请求的访问日志。默认不记录。
6、rewrite_log指令
由ngx_http_rewrite_module 模块提供。用来记录重写日志的。在调试的时候建议打开。
语法:rewrite_log on|off;
默认值:rewrite_log off;
可配置字段:http、server、location、if
启用时在error_log中记录notice级别的重写日志。
7、error_log指令
语法:error_log file | stderr | syslog:server=address[parameter=value][debug|info|notic|warn|error|crit|alert|emerg];
默认值:error_log logs/error.log error;
可配置字段:main、http、server、location
配置错误日志
本文出自 “IT漫漫路” 博客,请务必保留此出处http://longgege.blog.51cto.com/6740519/1763519
标签:nginx
原文地址:http://longgege.blog.51cto.com/6740519/1763519