nginx access_log

nginx 日志说明

不同用户防卫Nginx会把每个用户访问往咱的日志信息记录到指定的日志文件里,供网站管理员分析用户浏览行为等,此功能又ngx_http_log_module 模块负责。

控制访问日志的参数

参数 说明
log_format 通过不同的名称来定义日志的输出格式,可以定义多个
access_log 用来指定日志保存的路径和使用的输出格式

nginx中日志的作用

  • access日志

记录nginx处理的请求的过程,包含请求类型、时间、客户端信息、处理结果、处理时长等信息,具体可以通过log_format指令引用特定变量来记录相关信息。

  • error日志

记录nginx进程启动、停止、重启及处理请求过程中发生的错误信息。

  • rewrite日志

记录rewrite规则工作的过程,可以用于调试rewrite规则。

nginx中可以记录的日志主要有access日志、error日志和rewrite日志。前两种由ngx_http_log_module模块予以支持,rewrite日志则由ngx_http_rewrite_module模块提供,这两个模块默认都已包含且启用。

自定义一个 nginx 日志格式

# 定义一个日志的输出格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"';
# 指定日志的报错位置和指定日志的输出格式为上面定义的格式(main为上面定义的日志标签)
access_log logs/access.log main;

log_format 语法格式及参数语法说明

log_format [name [string];

name表示格式名称,string表示等义的格式。log_format有一个默认的无需设置的combined日志格式,相当于apache的combined日志格式。

log_format格式变量:

$http_referer          # 记录此次请求是从哪个连接访问过来的,可以根据该参数进行防盗链设置。
$http_user_agent # 记录客户端访问信息,例如:浏览器、手机客户端等
$remote_addr # 记录客户端IP地址
$http_x_forwarded_for # 当前端有代理服务器时,设置web节点记录客户端地址的配置,此参数生效的前提是代理服务器也要进行相关的x_forwarded_for设置
$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 # 通用日志格式下的本地时间。

access_log语法格式及参数语法

access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]];

作用域   : http, server, location, if in location, limit_except

其他参数说明

access_log  off;  #关闭access_log,即不记录访问日志

access_log path [format [buffer=size [flush=time]] [if=condition]];

access_log path format gzip[=level] [buffer=size] [flush=time] [if=condition];

access_log syslog:server=address[,parameter=value] [format [if=condition]];

说明:

buffer=size       # 为存放访问日志的缓冲区大小

flush=time        # 为缓冲区的日志刷到磁盘的时间

zip[=level]       # 表示压缩级别

[if = condition]  # 表示其他条件

open_log_file_cache指令


语法格式:
open_log_file_cache max=N [inactive=time] [min_uses=N] [valid=time]; 使用open_log_file_cache来设置日志文件缓存(默认是off)。 默认值: open_log_file_cache off;
作用于: http, server, location 对于每一条日志记录,都将是先打开文件,再写入日志,然后关闭。可以使用open_log_file_cache来设置日志文件缓存(默认是off),格式如下:
参数注释如下:
max # 设置缓存中的最大文件描述符数量,如果缓存被占满,采用LRU算法将描述符关闭。
inactive # 设置存活时间,默认是10s
min_uses # 设置在inactive时间段内,日志文件最少使用多少次后,该日志文件描述符记入缓存中,默认是1次
valid # 设置检查频率,默认60s
off # 禁用缓存

nginx 日子配置的更多相关文章

  1. 如何在Nginx下配置PHP程序环境

    1.nginx与PHP的关系 首先来看nginx与php的关系, FastCGI的关系(而不是像apache那样安装成nginx的模块) FastCGI的意思是, 快速的通用网关接口:CGI Comm ...

  2. 从零开始学 Java - CentOS 下 Nginx + Tomcat 配置负载均衡

    为什么现在有非常多的聪明人都在致力于互联网? 最近在读埃隆·马斯克传记,他说「我认为现在有非常多的聪明人都在致力于互联网」. 仔细一想,好像真的是这样的. 我问了自己一个问题:如果你不敲代码了,你能做 ...

  3. Nginx主配置参数详解,Nginx配置网站

    1.Niginx主配置文件参数详解 a.上面博客说了在Linux中安装nginx.博文地址为:http://www.cnblogs.com/hanyinglong/p/5102141.html b.当 ...

  4. nginx + tomcat配置负载均衡

    目标:Nginx做为HttpServer,连接多个tomcat应用实例,进行负载均衡. 注:本例程以一台机器为例子,即同一台机器上装一个nginx和2个Tomcat且安装了JDK1.7. 1.安装Ng ...

  5. spring4+websocket+nginx详细配置

    实现的版本jdk1.7.0_25, tomcat7.0.47.0, Tengine/2.1.1 (nginx/1.6.2), servlet3.0, spring4.2.2 使用maven导入版本3. ...

  6. Nginx Location配置总结

    Nginx Location配置总结 语法规则: location [=|~|~*|^~] /uri/ { - }= 开头表示精确匹配^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即 ...

  7. 理解nginx的配置

    Nginx配置文件主要分成四部分:main(全局设置).server(主机设置).upstream(上游服务器设置,主要为反向代理.负载均衡相关配置)和 location(URL匹配特定位置后的设置) ...

  8. nginx缓存配置的操作记录梳理

    web缓存位于内容源Web服务器和客户端之间,当用户访问一个URL时,Web缓存服务器会去后端Web源服务器取回要输出的内容,然后,当下一个请求到来时,如果访问的是相同的URL,Web缓存服务器直接输 ...

  9. 在nginx中配置如何防止直接用ip访问服务器web server及server_name特性讲解

    看了很多nginx的配置,好像都忽略了ip直接访问web的问题,不利于SEO优化,所以我们希望可以避免直接用IP访问网站,而是域名访问,具体怎么做呢,看下面. 官方文档中提供的方法: If you d ...

随机推荐

  1. 简易webpack 入门

    webpack 模块打包机 作用:将浏览器不识别的语言转化成浏览器识别的语言 工作流程 通过一个入口文件 找到这个入口文件所依赖的所有模块,将这些文件打包成一个或多个文件 如何使用: 1.安装 cnp ...

  2. Delphi Excel导入 的通用程序

    步骤: 1 连excel(自己知道其格式,最好是没个字段在数据一一对应) 2 读excel数据,填入到数据库 我这里有个函数,实现把excel表格中数据导入数据库,在一条数据导入前判断数据库中是否有该 ...

  3. Spark Programming--- Shuffle operations

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  4. HTB Linux queuing discipline manual - user guide笔记

    1. Introduction HTB is meant as a more understandable, intuitive and faster replacement for the CBQ ...

  5. 第47节:Java当中的基本类型包装类

    Java当中的基本类型包装类 01 基本数据类型对象的包装类 什么是基本数据类型对象包装类呢?就是把基本数据类型封装成对象,这样就可以提供更多的操作基本数值的功能了. 基本数据类型对象的包装类8个: ...

  6. MySql必备技能 不会的赶紧get一下 可以说很详细了

    1.Mysql服务 mysql服务如何开启: 下载了mysql数据库你的服务中会有mysql服务. 1.1: 1.2: 2.使用sql语句进行 建库.建表.等操作. 2.1:使用sql语句进行创建数据 ...

  7. git提示error setting certificate verify locations以及fatal: unable to access 的解决办法

    z当使用git ------上传文件到GitHub上时!~~~出现了以下错误  :fatal: unable to access ' 可以采用以下解决方式: 修改GitHub上的地址格式=====ht ...

  8. ajax实现异步前后台交互,模拟百度搜索框智能提示

    1.什么是异步?在传统的网站项目中,填写一堆数据,最后点击提交,在点击提交的这一刻才实现数据提交,前后台交互.在你点击提交之前数据是没有提交到后台的.这样就会造成很大的不便.比如,我填了一大堆数据,结 ...

  9. mstsc远程报:这可能是由于CredSSP 加密Oracle修正的两种完美解决方法

    win10很完美,用的也很舒服!当然人无完人,也总有不尽如人意的时候.比如说我们经常用的远程mstsc,就出现了一个坑,既然出现坑了,我们就得把坑解决掉吧!下面就记录一下这个坑的解决方法. 本文地址: ...

  10. logstash收集TCP端口日志

    logstash收集TCP端口日志官方地址:https://www.elastic.co/guide/en/logstash-versioned-plugins/current/index.html ...