论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
运维.售后
›
运维.售后
›
【Nginx】Nginx 日记配置
【Nginx】Nginx 日记配置
万万哇
金牌会员
|
2024-8-29 04:44:36
|
显示全部楼层
|
阅读模式
楼主
主题
977
|
帖子
977
|
积分
2931
Nginx 日记配置
Nginx 主要有两种日记范例:访问日记(access log)和错误日记(error log),可以帮助监控和调试服务的运行。
1.访问日记
访问日记主要纪录客户端的请求,客户端向 Nginx 发起的每一次都会被纪录到访问日记中。客户端IP、欣赏器信息等都可以在访问日记中获取得到,详细的日记纪录格式可以通过 log_format 来进行定义。
1.1 语法
# 设置访问日志
access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]];
# 关闭访问日志
access_log off;
复制代码
访问日记设置字段分析:
path:指定访问日记的存储路径。
format:指定日记的格式。
buffer:用来指定日记写入时的缓存大小,默认是64K。
gzip:日记写入前先辈行压缩,从 1 到 9 数值越大压缩比越高,同事压缩的速度也越慢,默认为 1。
flush:设置缓存的有效时间,如果超过 flush 指定的时间,缓存中的内容将被清空。
if:条件判断,如果指定的条件计算为0或空字符串,那么该请求不会写入日记。
1.2 作用域
可以利用 access_log 日记的作用域有:http、server、loaction、limit_except,如果在这几个作用域之外利用 access_log ,Nginx 会报错。
1.3 根本利用
指定 access_log 的日记写入路径为 Nginx 目录下 logs/access.log 文件。
access_log logs/access.log
复制代码
指定 access_log 的日记写入路径为 Nginx 目录下 logs/access.log 文件,日记的缓存大小为 32K,日记写入前启用 gzip 进行压缩,压缩比利用默认值 1,缓存数据有效时间为 1 分钟。
access_log logs/access.log
buffer=32k gzip flush=1m
复制代码
1.4 log_format 自定义日记格式
Nginx 预定义了日记格式,如果没有明白指定日记格式将利用预定义的日记格式。
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
复制代码
如果需要修改,参考 log_format 的语法进行修改即可。
log_format name [escape=default|json] string ...;
复制代码
log_format 语法字段分析:
name:格式名称,在 access_log 中显性引用,否则会利用默认的语法。
escape:置变量中的字符编码方式是 json 还是 default ,默认是 default。
stirng:要定义的日记格式内容,该参数可以有多个,参数中可以利用Nginx变量。
如下是 log_format 中常用的一些变量:
变量寄义$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/”
1.5 访问日记配置测试
关闭访问日记,客户端向 Nginx 服务器发起请求,访问日记未纪录。
access_log off;
复制代码
开启访问日记,利用预定义的 log_format,日记按照预定义的格式进行打印。
access_log logs/access.log;
复制代码
开启访问日记,利用自定义的 log_format,可以或许按照指定的格式进行打印。
log_format self_format '$remote_addr - $http_user_agent - $remote_addr'
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" "$request_uri"';
access_log logs/access.log self_format;
复制代码
2.错误日记
错误日记主要纪录服务器和请求处理过程中的错误信息,通过 error_log 实现。
错误日记在Nginx中是通过error_log指令实现的。该指令纪录服务器和请求处理过程中的错误信息。
2.1 语法
# 设置错误日志及错误级别
error_log file [level];
复制代码
访问日记设置字段分析:
error_log,关键字,不能修改。
file:日记文件存放的路径。
level:错误级别,常见的日记级别有 debug、info、notice、warn、error、crit、alert、merg,级别越高,纪录的信息越少,默认为 error。
注意:不要配置info品级较低的级别,会带来大量的磁盘I/O斲丧。
2.2 作用域
可以利用 error_log 日记的作用域有:main、http、server、loaction,如果在这几个作用域之外利用 error_log,Nginx 会报错。
2.3 根本利用
指定 error_log 的日记写入路径为 Nginx 目录下的 logs/error.log 文件。
error_log logs/error.log;
复制代码
指定 error_log 的日记写入路径为 Nginx 目录下的 logs/error.log 文件,日记级别为 info。
error_log logs/error.log info;
复制代码
2.4 错误日记配置测试
指定 error_log 的日记写入路径为 Nginx 目录下的 logs/error.log 文件,正常输出错误到 logs/error.log 中。
error_log logs/error.log;
复制代码
指定 error_log 的日记写入路径为 Nginx 目录下的 logs/error.log 文件,日记级别为 info。
error_log logs/error.log info;
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
万万哇
金牌会员
这个人很懒什么都没写!
楼主热帖
markdown day 01
Linux系统调用四、lseek()函数详解 ...
Nacos注册中心-----从0开始搭建和使用 ...
ClickHouse(05)ClickHouse数据类型详解 ...
基于CSDN云和docker全家桶的微服务项目 ...
【云原生】Docker 进阶 -- 数据卷使用 ...
应急救灾物资行业标准与规范 ...
100天精通Python(进阶篇)——第39天 ...
读Java性能权威指南(第2版)笔记02_ J ...
谈谈技术能力
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
容器及微服务
Java
物联网
数据仓库与分析
IOS
人工智能
鸿蒙
快速回复
返回顶部
返回列表