• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!

Nginx日志模块相关指令

Nginx 彭东稳 8年前 (2016-04-24) 22968次浏览 已收录 0个评论

日志模块(ngx_http_log_module)

在全局块中,我们介绍过error_log指令,其用于nginx进程运行时的日志存放和级别。此处所指的日志与常规日志不同,它是记录nginx服务器提供服务过程应答前端请求的日志,我们将其称为服务日志。

示例:

1)access_log

path – 配置服务日志文件存放的路径和名称;

format – 可选项,自定义服务日志的格式字符串,也可以通过”格式串的名称“使用log_format指令定义好的格式。格式串名称在log_format指令中定义;

buffer – 设置内存缓存区大小;

flush – 保存在缓存区中的最长时间;

gzip – 表示压缩等级;

syslog:server – 表示使用系统的syslog把nginx日志传输到远程服务器;

access_log off – 不记录日志;

Nginx的默认日志在logs/access.log文件中,且使用一个默认的 combined 日志格式。

2)log_format

定义nginx日志格式,其中name表示格式名称,注意日志格式的名字不能够重复;string表示等义的格式。Nginx提供了默认的combined日志格

式,日志格式如上http{}配置段的内容。其中带$符号的都是引用的变量,http核心模块自带的,下面对日志格式常用的变量做个说明:

Nginx默认的日志格式信息如下:

这里我在/etc/nginx/nginx.conf配置文件中自定义一个带说明信息的日志格式(这种日志格式利于python以字典的方式处理),格式名称为”json”,然后看看日志信息会是什么样子。

然后在/etc/nginx/conf.d/server.conf虚拟主机文件中,引用”json”这个日志格式,看看日志信息:

重新加载nginx,然后访问日志文件看看日志信息效果如下所示:

3)open_log_file_cache

对于每一条日志记录,都将是先打开文件,再写入日志,然后关闭。可以使用open_log_file_cache来设置日志文件缓存(默认是off),格式如下:

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

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

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

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

off – 禁用缓存


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (2)
[资助本站您就扫码 谢谢]
分享 (0)

您必须 登录 才能发表评论!