Linux下玩转nginx系列(三)---nginx日志配置文件说明
发布网友
发布时间:2024-09-18 03:01
我来回答
共1个回答
热心网友
时间:2024-09-18 13:47
nginx日志配置文件主要包含三个参数:access_log、log_format 和 open_log_file_cache。
access_log参数定义日志的路径及格式,其语法如下:
日志级别从低到高分别为:debug > info > notice > warn > error > crit > alert > emerg。
默认值为:access_log logs/access.log combined。
参数path指定日志存放位置;format指定日志格式,默认使用combined;buffer设置日志缓存大小,默认64k;gzip开启日志压缩,压缩级别默认1;flush设置缓存有效时间,单位为秒;if用于条件判断。
例如,访问路径为/var/logs/nginx-access.log,使用默认日志格式。
log_format参数定义日志的模板,格式如下:
name用于在access_log指令中引用;escape设置变量编码方式;string定义日志格式内容,可使用Nginx变量。
示例:access_log /var/logs/nginx-access.log main log_format main '$remote_addr - $remote_user [$time_local] "$request"' '$status $body_bytes_sent "$http_referer"' '"$http_user_agent" "$http_x_forwarded_for"'。
错误日志通过error_log指令实现,配置错误日志文件路径和日志级别,格式为error_log file [level],默认值为error。
示例:error_log /var/logs/nginx/nginx-error.log。
常见日志变量包括客户端IP、用户名称、请求URL、状态码等。
open_log_file_cache参数用于设置日志文件缓存,包括最大文件描述符数量、存活时间、最少使用次数和检查频率,默认值为off。
示例:open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2。
Nginx提供多种日志调试技巧,如仅记录指定IP的错误日志、开启rewrite日志、记录指定URL的日志等。
常用日志格式包括main、json和压缩格式,以及包含上游消耗时间的upstream格式。
总结:nginx通过access_log和error_log指令配置访问和错误日志,通过log_format自定义日志格式。使用open_log_file_cache指令设置日志文件缓存,提升性能。了解日志中使用的变量信息,参考官方文档可获取更多详细信息。