nginx 日志配置笔记

Nginx 的日志配置非常重要,它可以帮助你记录服务器的访问情况、错误信息等,便于后续的分析和故障排查。Nginx 的日志配置主要包括访问日志(access log)错误日志(error log)

1、访问日志(Access Log)

访问日志记录了客户端对服务器的请求信息,包括请求的 URL、HTTP 状态码、客户端 IP 地址、请求时间等。

配置示例:

http {log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main;server {listen 80;server_name example.com;location / {root /var/www/html;index index.html;}}
}

配置解释:

  • log_format main …:定义了一个名为 main 的日志格式。

$remote_addr:客户端 IP 地址。

$remote_user:客户端用户名(如果有)。

$time_local:本地时间。

$request:请求的 URL 和 HTTP 方法。

$status:HTTP 状态码。

$body_bytes_sent:发送给客户端的字节数。

$http_referer:请求的来源页面。

$http_user_agent:客户端的用户代理(浏览器类型)。

$http_x_forwarded_for:如果使用了反向代理,这个变量记录了客户端的真实 IP 地址。

  • access_log /var/log/nginx/access.log main;:指定访问日志的文件路径和使用的日志格式。

2、错误日志(Error Log)

错误日志记录了 Nginx 运行过程中发生的错误信息,包括配置错误、请求处理错误等。

配置示例:

error_log /var/log/nginx/error.log warn; 
http {server {listen 80;server_name example.com;location / {root /var/www/html;index index.html;}}
}

配置解释:

  • error_log /var/log/nginx/error.log warn;:指定错误日志的文件路径和日志级别。

日志级别可以是 debug, info, notice, warn, error, crit, alert, emerg。

warn 表示记录警告及以上级别的错误信息。

3、日志轮转(Log Rotation)

日志文件会随着时间的推移变得越来越大,因此需要定期进行日志轮转,以避免日志文件过大。你可以使用系统自带的日志轮转工具(如 logrotate)来管理 Nginx 的日志文件。

示例配置:

/var/log/nginx/*.log {dailymissingokrotate 7compressdelaycompressnotifemptycreate 640 nginx admsharedscriptspostrotateif [ -f /var/run/nginx.pid ]; thenkill -USR1 `cat /var/run/nginx.pid`fiendscript
}

解释:

  • daily:每天轮转一次。

  • missingok:如果日志文件不存在,不报错。

  • rotate 7:保留 7 个旧日志文件。

  • compress:压缩旧日志文件。

  • delaycompress:延迟压缩,下次轮转时再压缩。

  • notifempty:如果日志文件为空,不轮转。

  • create 640 nginx adm:创建新日志文件时,指定权限和用户组。

  • sharedscripts:共享脚本,只在第一次轮转时执行一次。

  • postrotate:轮转后执行的脚本。

kill -USR1 cat /var/run/nginx.pid``:发送 USR1 信号给 Nginx,通知其重新打开日志文件。

4、其他日志配置

  • 禁用日志:如果你不希望记录某些请求的日志,可以使用 access_log off; 来禁用访问日志。
location /static/ {access_log off;root /var/www/static;
}
  • 自定义日志格式:你可以根据需要自定义日志格式,记录更多或更少的信息。
log_format custom '$remote_addr - [$time_local] "$request" $status';
access_log /var/log/nginx/custom_access.log custom;

总结

Nginx 的日志配置非常灵活,可以根据实际需求进行调整。通过合理配置访问日志和错误日志,可以帮助你更好地监控和维护 Nginx 服务器。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

webpack 老项目升级记录:从 node-sass 限制的的 node v8 提升至支持 ^node v22

老项目简介 技术框架 vue 2.5.17webpack 4.16.5"webpack-cli": "3.1.0""node-sass": "^4.7.2" 几个阶段 第一步:vue2 升级到最新 第一步:升级 vue2 至最新版本,截止到目前(2024-10-…

戴维南,叠加,稳态笔记

一点点学习笔记,仅做个人复习使用 节点电压分清电流电压源,电流源才能写在右边,容易混淆 叠加定理仅适用于线性电路,且不能用于计算功率,主要是方向,要看源的方向判断等效之后的,受控源不参与除源&#x…

DMVPN协议

DMVPN(Dynamic Multipoint VPN)动态多点VPN 对于分公司和分总公司内网实现通信环境下,分公司是很多的。我们不可能每个分公司和总公司都挨个建立ipsec隧道 ,而且如果是分公司和分公司建立隧道,就会很麻烦。此时我们需…

iPhone当U盘使用的方法 - iTunes共享文件夹无法复制到电脑怎么办 - 如何100%写入读出

效果图 从iPhone复制文件夹到windows电脑 步骤windows 打开iTunes通过USB连接iPhone和电脑手机允许授权iTunes中点击手机图标,进入到点击左边“文件共享”,在右边随便选择一个App(随意...)写入U盘:拖动电脑的文件&am…

随机抽取学号

idea 配置 抽学号 浏览器 提交一个100 以内的整数。,后端接受后,根据提供的整数,产生 100 以内的 随机数,返回给浏览器? 前端:提供 随机数范围 ,病发送请求后端:处理随机数的产生&…

信息安全工程师(66)入侵阻断技术与应用

#1024程序员节|征文# 前言 入侵阻断技术是网络安全主动防御的重要技术方法,其基本原理是通过对目标对象的网络攻击行为进行阻断,从而达到保护目标对象的目的。 一、入侵阻断技术的核心原理 入侵阻断技术的核心在于对网络攻击行为的实时检测和…

震撼叶珂“假胸”引发热议黄晓明无辜躺枪

【一场关于美的争议】在这个信息爆炸的时代,每一个细微的风吹草动都可能成为公众关注的焦点。近日,一则关于叶珂“假胸”的传闻在网络上掀起了轩然大波。有网友爆料称,叶珂的胸部整形过度,甚至“隆得比肚子还大,都垂到…

Node + HTML搭建自己的ChatGPT [基础版]

文章目录 明明外面的ChatGPT产品那么多了,为什么要在本地搭建自己的ChatGPT呢?整体架构流程1. 获取APIKey1.1 常见的AI模型1.2 为什么选DeepSeek1.3 怎么获取DeepSeek的APIKey1.3.1 注册并登录DeepSeek开放平台1.3.2 选择API keys1.3.3 创建API key1.3.4…

VSCode编译器改为中文

1. 通过快捷键设置中文 打开命令面板:按住键盘上的CtrlShiftP组合键,打开命令面板。 输入并设置语言:在命令面板中输入Configure Display Language。 点击Configure Display Language选项。 在弹出的语言选择列表中,选择zh-cn…

node.js下载安装以及环境配置超详细教程【Windows版本】

node安装以及环境变量配置 Step1:选择版本进行安装Step2:安装Node.jsStep3:环境配置Step4:检查node.js是否成功安装Step5:npm修改下载镜像 Step1:选择版本进行安装 Node.js 安装包及源码下载地址为 Node.…

基于Spring Boot的宿舍管理系统设计与实现(源码+定制+开发)宿舍信息管理平台、智能宿舍系统开发、学生宿舍管理平台设计、宿舍入住与信息管理

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

QT-使用QSS美化UI界面

一、QSS简介: Qt Style Sheet:Qt样式表,用来自定义控件外观的一种机制,可以把他类比成CSS(CSS主要功能与最终目的都是能使界面的表现与界面的元素分离)。QSS机制使应用程序也能像web界面那样随意地改变外观…

vue3移动端可同时上传照片和视频的组件

uni-app中的uni-file-picker可单独上传照片或视频,但不支持同时上传照片和视频。本篇博客使用image标签和video标签实现移动端(H5app小程序)中照片和视频的同时上传。 本篇博客采用的是照片和视频的单独上传,但可同时展示&#xf…

Qt 学习第 天:线程与多线程

1024程序员快乐,如果这博客让你学习到了知识,请给我一个免费的赞❤️ 一、创建界面文件 LCDnumber 二、创建mythread类,继承QObject 三、在MyThread.h文件做修改,并且加上函数声明 引入头文件,改变继承 #ifndef MY…

Nginx+Tomcat 动静分离

1. NginxTomcat 环境 Nginx 处理静态资源的优势同样可以应用在 Tomcat 环境中 。从实现方法上来说,NginxTomcat 环境的搭建思路与前面完成的 NginxApache 环境是完全相同的,只需要将 Nginx 与 Tomcat 的站点文档目录配置到同一目录下,利用 N…

C# 委托简述

1.委托 1.1什么是委托 委托委托 官网解释: 委托是安全封装方法的类型,类似于 C 和 C 中的函数指针。 与 C 函数指针不同的是,委托是面向对象的、类型安全的和可靠的。 委托的类型由委托的名称确定。 个人理解:委托就是一个方法的模板。它可以接收…

ASP.NET MVC-font awesome-localhost可用IIS不可用

环境: win10, .NET 6.0,IIS 问题描述 本地IIS正常显示,但放到远程服务器上,每个icon都显示?。同时浏览器的控制台报错: fontawesome-webfont.woff2:1 Failed to load resource: the server responded with a statu…

uni-app 开发微信小程序,实现图片预览和保存

1.使用 uni.previewImage() 预览图片 1.1 图片列表 1.2 预览 1.2.1 样式无法调整 1.2.2 微信小程序不支持预览本地文件路径图片(图片上传到小程序的临时文件存储或云服务存储) 1.3 无法绑定 longpress"saveImage(item)" 长按保存图片事件 …

NewStarCTF 2023 公开赛道 Web week1-week2

目录 week1 泄漏的秘密 Begin of Upload Begin of HTTP ErrorFlask ​Begin of PHP R!C!E! EasyLogin ​week2 游戏高手 include 0。0 ez_sql ​Unserialize? Upload again! R!!C!!E!! week1 泄漏的秘密 使用ctf-scan.py(https://gith…

写在RAGFlow开源2万星标之际

RAGFlow自2024年4月1日正式开源,时至今日,不到7个月时间已经站在了Github 2万星标的台阶之上。在6月底Github 1万星标的时候,我们曾经写了一篇文章,提出RAG 2.0的口号【参考文献1】,论述了RAG作为一种以搜索为中心的系…