|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在学习初期,你一定会遇到很多困难,或者说各种困难,所以你最好先将你linux中的重要内容备份,因为,在你学习的过程中,很可能将系统搞废(eg:源混乱等);
日记关于统计排错来讲十分有益的。本文总结了nginx日记相干的设置如access_log、log_format、open_log_file_cache、log_not_found、log_subrequest、rewrite_log、error_log。
nginx有一个十分天真的日记纪录形式。每一个级其余设置能够有各自自力的会见日记。日记格局经由过程log_format命令来界说。ngx_http_log_module是用来界说哀求日记格局的。
1.access_log指令
语法:access_logpath[format[buffer=size[flush=time]]];
代码以下:
access_logpathformatgzip[=level][buffer=size][flush=time];
access_logsyslog:server=address[,parameter=value][format];
access_logoff;
默许值:access_loglogs/access.logcombined;
设置段:http,server,location,ifinlocation,limit_except
gzip紧缩品级。
buffer设置内存缓存区巨细。
flush保留在缓存区中的最长工夫。
不纪录日记:access_logoff;
利用默许combined格局纪录日记:access_loglogs/access.log或access_loglogs/access.logcombined;
2.log_format指令
语法:log_formatnamestring…;
默许值:log_formatcombined“…”;
设置段:http
name暗示格局称号,string暗示等义的格局。log_format有一个默许的无需设置的combined日记格局,相称于apache的combined日记格局,以下所示:
代码以下:
log_formatcombined$remote_addr-$remote_user[$time_local]
"$request"$status$body_bytes_sent
"$http_referer""$http_user_agent";
假如nginx位于负载平衡器,squid,nginx反向代办署理以后,web服务器没法间接猎取到客户端实在的IP地点了。$remote_addr猎取反向代办署理的IP地点。反向代办署理服务器在转发哀求的http头信息中,能够增添X-Forwarded-For信息,用来纪录客户端IP地点和客户端哀求的服务器地点。以下所示:
代码以下:
log_formatporxy$http_x_forwarded_for-$remote_user[$time_local]
"$request"$status$body_bytes_sent
"$http_referer""$http_user_agent";
日记格局同意包括的变量正文以下:
代码以下:
$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_iso8601ISO8601尺度格局下的当地工夫。
$time_local通用日记格局下的当地工夫。
发送给客户真个呼应头具有“sent_http_”前缀。好比$sent_http_content_range。
实比方下:
代码以下:
http{
log_formatmain$remote_addr-$remote_user[$time_local]"$request"
"$status"$body_bytes_sent"$http_referer"
"$http_user_agent""$http_x_forwarded_for"
"$gzip_ratio"$request_time$bytes_sent$request_length;
log_formatsrcache_log$remote_addr-$remote_user[$time_local]"$request"
"$status"$body_bytes_sent$request_time$bytes_sent$request_length
[$upstream_response_time][$srcache_fetch_status][$srcache_store_status][$srcache_expire];
open_log_file_cachemax=1000inactive=60s;
server{
server_name~^(www.)?(.+)$;
access_loglogs/$2-access.logmain;
error_loglogs/$2-error.log;
location/srcache{
access_loglogs/access-srcache.logsrcache_log;
}
}
}
3.open_log_file_cache指令
语法:open_log_file_cachemax=N[inactive=time][min_uses=N][valid=time];
open_log_file_cacheoff;
默许值:open_log_file_cacheoff;
设置段:http,server,location
关于每条日记纪录,都将是先翻开文件,再写进日记,然后封闭。可使用open_log_file_cache来设置日记文件缓存(默许是off),格局以下:
参数正文以下:
max:设置缓存中的最年夜文件形貌符数目,假如缓存被占满,接纳LRU算法将形貌符封闭。
inactive:设置存活工夫,默许是10s
min_uses:设置在inactive工夫段内,日记文件起码利用几次后,该日记文件形貌符记进缓存中,默许是1次
valid:设置反省频次,默许60s
off:禁用缓存
实比方下:
代码以下:
open_log_file_cachemax=1000inactive=20svalid=1mmin_uses=2;
4.log_not_found指令
语法:log_not_foundon|off;
默许值:log_not_foundon;
设置段:http,server,location
是不是在error_log中纪录不存在的毛病。默许是。
5.log_subrequest指令
语法:log_subrequeston|off;
默许值:log_subrequestoff;
设置段:http,server,location
是不是在access_log中纪录子哀求的会见日记。默许不纪录。
6.rewrite_log指令
由ngx_http_rewrite_module模块供应的。用来纪录重写日记的。关于调试重写划定规矩倡议开启。Nginx重写划定规矩指南
语法:rewrite_logon|off;
默许值:rewrite_logoff;
设置段:http,server,location,if
启用时将在errorlog中纪录notice级其余重写日记。
7.error_log指令
语法:error_logfile|stderr|syslog:server=address[,parameter=value][debug|info|notice|warn|error|crit|alert|emerg];
默许值:error_loglogs/error.logerror;
设置段:main,http,server,location
设置毛病日记。
文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln |
|