nginx日志
1、错误日志:主要记录客户端访问nginx出错时的日志,格式不支持自定义,
如何关闭: http 外定义 error_log /dev/null; #注意 这样写并不会关闭,而是写入到off的文件里 error_log off;
默认存放位置: <prerix>/logs/
<prerix>/logs/nginx.pid
2、访问日志 记录用户的访问信息; 可以单独设置到某个location里面
Syntax: access_log path [ format [ buffer = size [ flush = time ]]]
access_log path format gzip[= [ buffer = size ] [ flush = time ]
access_log off
Default: logs/access.log combined
Context: http
server
location #如记录页面404信息
if in location
limit_except
Reference: access_log
默认值: access_log logs/access.log combined;
如:access_log /home/v_jksong/log/nginx_access_log.txt mylog;
#自定义日志的格式:
log_format
Syntax: log_format name string ...
Default: combined "..." #默认
Context: http
Reference: log_format
默认的 combined
log_format combined '$remote_addr - $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_iso8601 ISO8601标准格式下的本地时间。
$time_local 通用日志格式下的本地时间。
#参考实例
http {
log_format main '$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_format srcache_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_cache max=1000 inactive=60s;
server {
server_name ~^(www\.)?(.+)$;
access_log logs/$2-access.log main;
error_log logs/$2-error.log;
location /srcache {
access_log logs/access-srcache.log srcache_log;
}
}
}
参考文章:http://www.ttlsa.com/linux/the-nginx-log-configuration/