龙空技术网

nginx 的日志配置

贝利虎教育 203

前言:

此时你们对“nginx日志分站点”都比较关切,咱们都需要分析一些“nginx日志分站点”的相关资讯。那么小编同时在网上汇集了一些有关“nginx日志分站点””的相关内容,希望同学们能喜欢,我们一起来了解一下吧!

在上一章呢 我们已经成功的安装了nginx在自己的服务器上面,那么我们今天就来学习下nginx的日志模块。

nginx日志配置相关指令:

log_format

access_log

error_log

open_log_file_cache

1.log_format 它是日志格式定义的相关指令,语法格式如下

Syntax:log_format name [escape=default|json] string ...;

Default: log_format combined "...";

Context: http

其中name表示格式的名称,这个名字可以随便定义

string 表示定义的格式

这个指令它的作用于只能在http段

日志格式允许包含的变量有:

$remote_addr, $http_x_forwarded_for 记录客户端IP地址

$remote_user 记录客户端用户名称

$request 记录请求的URL和HTTP协议

$status 记录请求状态

$body_bytes_sent 发送给客户端的字节数,不包括响应头的大小

$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 通用日志格式下的本地时间。

上面的这几个变量都是我们经常用到的变量,比如在日志分析的时候我们会从这几个变量中找到我们需要的分析结果。

2. access_log指令

他的语法格式如下

这个指令我们一般用在我们开启了我们的站点,那我们就会设置这个站点的日志启动,一般我们会设置在子站点的server中 ,其中path指的是我们定义这个日志的路径,默认这个是关闭的需要我们手动的去开启一些。

同时呢我们也会开启error_log 日志 将错误的一些信息记录在上面。

3 open_log_file_cache指令

对于每一条日志记录,都将是先打开文件,再写入日志,然后关闭。可以使用open_log_file_cache来设

置日志文件缓存(默认是off),格式如下:

参数注释如下:

max: 设置缓存中的最大文件描述符数量,如果缓存被占满,采用LRU算法将描述符关闭

inactive: 设置存活时间,默认是10s

min_uses: 设置在inactive时间段内,日志文件最少使用多少次后,该日志文件描述符记入缓存中,默认是1次

valid:设置检查频率,默认60s

off: 禁用缓存

它的使用范围是http, server, location中

示例:

open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2;

标签: #nginx日志分站点