当前位置 知且行 linux nginx日志格式以及关闭对静态资源的日志记录 下一篇:

nginx日志格式以及关闭对静态资源的日志记录

日志格式

nginx默认的日志格式为:

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
        '$status $body_bytes_sent "$http_referer" '
        '"$http_user_agent"';

log_format要放到http段里面,并且要放到server段的外部

日志变量说明:

  • $scheme 请求的协议,http或https

  • $host 访问域名

  • $remote_user 远程客户端的用户名称,basic认证用户,没有时为“-”

  • $remote_addr 客户端IP地址

  • $time_local 访问时间和时区

  • $request 请求方法、请求uri和请求http协议

  • $status 响应状态码

  • $upstream_status upstream状态

  • $upstream_response_time 请求时upstream的响应时间

  • $request_time 整个请求的总时间,包括从读取客户端第一个字节到响应完成并写完日志的全部时间

  • $bytes_sent 返回给客户端大小

  • $body_bytes_sent 返回给客户端的body大小

  • $http_referer 请求来源

  • $http_user_agent 用户终端浏览器的UserAgent

  • $http_x_forwarded_for 通过代理服务器来记录的客户端的ip地址

自定义日志格式:

log_format main '$remote_addr $status $remote_user [$time_local] $host "$request" '
        '$upstream_status $request_time $upstream_response_time $bytes_sent $body_bytes_sent '
        '"$http_referer" "$http_user_agent" $http_x_forwarded_for';

设置access_log的存放路径,默认格式为main

access_log /var/log/nginx/access.log main;

静态资源访问记录不写入日志

静态资源,如js,css及各种图片,如果都记录到日志,会产生挺大的干扰,可关闭这些文件类型的日志,配置如下:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$ {
    expires      30d;
    access_log off;
}
location ~ .*\.(js|css)?$ {
    expires      1d;
    access_log off;
}
转载必须注明出处:https://www.zhiqiexing.com/151.html

关于我

我希望能成为一个认真、有趣、创造更多价值的人
关注微信
微信扫一扫关注我

微信扫一扫关注我

返回顶部