【Nginx】Nginx 日志配置

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;

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/666541.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JUC常见类

White graces:个人主页 🙉专栏推荐:Java入门知识🙉 🙉 内容推荐:Java锁的策略🙉 🐹今日诗词:苟利国家生死以,岂因祸福避趋之🐹 ⛳️点赞 ☀️收藏⭐️关注💬卑微小博主&#x1f64…

打造高效微服务的最佳实践

原文: 7 Best Practices for Building Effective Microservices Marc-Olivier Jodoin Unsplash 微服务架构是软件开发领域的热门话题,这一话题如此值得关注是因为这种架构模式几乎解决了单体软件系统的所有重要痛点。快速扩容、减少停机时间、高可用性是微服务的主要…

LIMS实验室管理系统品牌市场占有率 国内LIMS系统推荐

LIMS(Laboratory Information Management System)即实验室信息管理系统,是一种以数据库为核心的信息化技术与实验室管理需求相结合的信息化管理工具。以下是根据搜索结果整理的一些LIMS系统厂商: 国外厂商 Labware 作为国外实验室领域的两大巨头之一&a…

无法删除dll文件

碰到xxxxxx.dll文件无法删除不要慌! 通过Tasklist /m dll文件名称 去查看它和哪个系统文件绑定运行,发现是explorer.exe。 我们如果直接通过del命令【当然需要在该dll文件所在的路径中】。发现拒绝访问 我们需要在任务管理器中,将资源管理器…

TLBCache的联合设计

PIPT 在使用虚拟存储器的系统中,仍旧可以使用物理Cache,这是最保守的一种做法 处理器送出的虚拟地址(VA)会首先被TLB转换为对应的物理地址(PA),然后使用物理地址来寻址Cache,此时就像是没有使用虚拟存储器一样,直接使用了物理Cache,并且使用物理地址的一部分作为 Ta…

民国漫画杂志《时代漫画》第33期.PDF

时代漫画33.PDF: https://url03.ctfile.com/f/1779803-1248635648-d8235b?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了,截止1937年6月战争来临被迫停刊共发行了39期。 ps: 资源来源网络!

C#中的实体属性详解与示例

文章目录 实体属性的定义实体属性的访问实体属性的示例总结 在C#中,实体属性是面向对象编程的重要组成部分。实体属性允许我们定义对象的特征和行为,并提供了一种方式来访问和管理这些特征。通过实体属性,我们可以封装对象的状态,…

GPT-4o:免费且更快的模型

OpenAI GPT-4o 公告 OpenAI 推出了增强版 GPT-4 模型——OpenAI GPT-4o,用于支持 ChatGPT。首席技术官 Mira Murati 表示,更新后的模型速度更快,并在文本、视觉和音频处理方面有了显著提升。GPT-4o 将免费向所有用户开放,付费用户…

Rainbond 携手 TOPIAM 打造企业级云原生身份管控新体验

TOPIAM 企业数字身份管控平台, 是一个开源的IDaas/IAM平台、用于管理账号、权限、身份认证、应用访问,帮助整合部署在本地或云端的内部办公系统、业务系统及三方 SaaS 系统的所有身份,实现一个账号打通所有应用的服务。 传统企业 IT 采用烟囱…

【数据分享】中国科技统计年鉴Excel版(1991-2023年)

大家好!今天我要向大家介绍一份重要的中国科技统计数据资源——《中国科技统计年鉴》。这份年鉴涵盖了从1991年到2023年中国科技统计全面数据,并提供限时免费下载。 数据介绍 在数字化时代的浪潮中,数据的重要性日益凸显。对于研究人员、政…

AI 赋能前端 -- 文本内容概要生成

幸福不在于你获得了什么,而在于你比他人多获得了什么 是比较出来的 大家好,我是柒八九。一个专注于前端开发技术/Rust及AI应用知识分享的Coder 此篇文章所涉及到的技术有 OpenAILangChainRust/WebAssemblyWeb Workerreact+ts+vite配置环境变量(env)因为,行文字数所限,有些概…

5. MySQL运算符和函数

文章目录 【 1. 算术运算符 】【 2. 逻辑运算符 】2.1 逻辑非 (NOT 或者 !)2.2 逻辑与运算符 (AND 或者 &&)2.3 逻辑或 (OR 或者 ||)2.4 异或运算 (XOR) 【 3. 比较运算符 】3.1 等于 3.2 安全等于运算符 <>3.3 不等于运算符 (<> 或者 !)3.4 小于等于运算符…

【观察】数字化生存时代已来临,能源转型如何实现“再升级”?

20多年前&#xff0c;尼古拉斯尼葛洛庞帝在《数字化生存》一书中预言&#xff1a;“数字化生存是现代社会中以新技术为基础的新的生存方式。” 随着数字经济的蓬勃发展&#xff0c;尼葛洛庞帝的预言逐渐被验证。今天&#xff0c;新技术带来的数字化和智能化正全方位影响着经济…

计算机网络-BGP路由通告原则

前面一章我们学习了BGP的路由产生方式以及查看路由表信息。BGP自身并不会发现并计算产生路由。BGP通过network、import-route、aggregate聚合方式生成BGP路由后&#xff0c;通过Update报文将BGP路由传递给对等体。那BGP向邻居通告路由时遵循哪些原则呢&#xff1f; BGP通告遵循…

521源码-源码论坛-宝塔面板操作日志是存放在哪里的? 如何删除部分日志记录

我们帮别人搭建或者登录了&#xff08;不是自己权属的宝塔面板&#xff09;&#xff0c;会留下登录及操作的日志&#xff0c;我们不想留下这些操作日志&#xff0c;可以通过下面的方法处理掉&#xff0c;以达到无痕迹访问操作的目的&#xff1a; 如图所示的面板操作日志&#…

计算机网络——如何保证 TCP 传输的可靠性

TCP 是传输层上的协议&#xff0c;它是可靠的&#xff0c;面向连接的。 概括 1. 设置传输格式&#xff0c;包括分为 TCP 段、使用校验和、使用序列号 2. 数据丢失之后的重传&#xff0c;超时重传、快速重传、SACK 选择确认、D-SACK 重复选择确认 3. 流量控制&#xff0c;控…

【学习笔记】数据结构(一)

基本概念和术语 &#x1f449;数据&#xff1a;所有能被输入到计算机中&#xff0c;且被计算机处理的符号的集合&#xff1b; 是计算机操作对象的总称&#xff1b;是计算机处理信息的载体&#xff1b;是信息的某一种特定的符号表示形式包括数值型数据、非数值型数据 &#x1…

变种水仙花

变种水仙花 题干要求&#xff1a; 变种水仙花数 - Lily Number&#xff1a;把任意的数字&#xff0c;从中间拆分成两个数字&#xff0c;比如1461 可以拆分成&#xff08;1和461&#xff09;,&#xff08;14和61&#xff09;,&#xff08;146和1),如果所有拆分后的乘积之和等于…

干Java的有4年的工作经验;想转行做labview能行吗?

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「 Java的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;bVIEW和Java都是软件工具&a…

Golang | Leetcode Golang题解之第120题三角形最小路径和

题目&#xff1a; 题解&#xff1a; func minimumTotal(triangle [][]int) int {n : len(triangle)f : make([]int, n)f[0] triangle[0][0]for i : 1; i < n; i {f[i] f[i - 1] triangle[i][i]for j : i - 1; j > 0; j-- {f[j] min(f[j - 1], f[j]) triangle[i][j]…