Nginx日志设置
Nginx日志分为两种,accesslog(访问日志)和errorlog(错误日志)
设置access_log
access_log主要用来记录客户端的请求。
作用域
可以在http、server、location中指定access_log
语法
# path 指定日志存放位置
# format 日志格式
# buffer 日志写入时缓存大小,默认64K
# gzip 日志写入时先进行压缩,level来指定压缩率,默认1,从1到9数值越大,压缩比越高,速度越慢
# flush 缓存有效时间,超过flush设置的时间,缓存内容清空
# if 是否写入日志的条件判断,如果为0或者空字符串,该请求将不会写入日志
access_log path [format [buffer=size] [gzip=level] [flush=time] [if=condition]];
# 开启access_log
access_log on;
设置日志格式
语法
# name 格式名称,用来在日志指定中引用
# escape 编码格式使用,默认是default
# string 日志格式内容
log_format name [escape=default|json] string;
可用参数
日志格式中可用的参数有
$bytes_sent
发送给客户端的总字节数
$body_bytes_sent
发送给客户端的字节数,不包括响应头的大小
$connection
连接序列号
$connection_requests
当前通过连接发出的请求数量
$msec
日志写入时间,单位为秒,精度是毫秒
$pipe
如果请求是通过http流水线发送,则其值为"p",否则为“."
$request_length
请求长度(包括请求行,请求头和请求体)
$request_time
请求处理时长,单位为秒,精度为毫秒,从读入客户端的第一个字节开始,直到把最后一个字符发送张客户端进行日志写入为止
$status
响应状态码
$time_iso8601
标准格式的本地时间,形如“2017-05-24T18:31:27+08:00”
$time_local
通用日志格式下的本地时间,如"24/May/2017:18:31:27 +0800"
$http_referer
请求的referer地址。
$http_user_agent
客户端浏览器信息。
$remote_addr
客户端IP
$http_x_forwarded_for
当前端有代理服务器时,设置web节点记录客户端地址的配置,此参数生效的前提是代理服务器也要进行相关的x_forwarded_for设置。
$request
完整的原始请求行,如 "GET / HTTP/1.1"
$remote_user
客户端用户名称,针对启用了用户认证的请求
$request_uri
完整的请求地址,如 "https://daojia.com/"
示例
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
语法
# file 日志文件写入位置
# level 日志级别,debug, info, notice, warn, error, crit, alert,emerg,默认是error
error_log file [level]
本文暂时没有评论,来添加一个吧(●'◡'●)