【Nginx 日志配置】【访问日志log_format】【错误日志error_log 指令】【Nginx的日志轮转】

article/2025/5/15 9:14:26

文章目录

    • Nginx 日志配置
    • `log_format` 指令中常用的一些变量:
    • 访问日志 案例
    • 可以配置段:`http`, `stream`, `server`, `location`作用域。
    • error_log 指令 错误访问日志 级别
    • rewrite_log 指令 用户跳转日志 一般不用
    • 配置流量控制相关功能
            • 配置日志记录
    • Nginx 日志配置总结
    • Nginx的日志轮转**

Nginx 日志配置

1、Nginx 日志介绍
Nginx 有一个非常灵活的日志记录模式,每个级别的配置可以有各自独立的访问日志, 所需日志模块 ngx_http_log_module 的支持,日志格式通过 log_format 命令来定义,日志对于统计和排错是非常有利的,下面总结了 nginx 日志相关的配置 包括 access_logrewrite_logerror_log
设置访问日志 access_log path 样式;
2、作用域
可以应用access_log指令的作用域分别有httpserverlocation。也就是说,在这几个作用域外使用该指令,Nginx会报错。

3、log_format 指令
Nginx 预定义了名为 combined 日志格式,如果没有明确指定日志格式默认使用该格式:

log_format combined '$remote_addr - $remote_user [$time_local] ''"$request" $status $body_bytes_sent ''"$http_referer" "$http_user_agent"';

在这里插入图片描述

log_format 指令中常用的一些变量:

在这里插入图片描述

访问日志 案例

面试时:注意日志里面的ip地址一定要在第一列。
访问日志 自定义 server下面写
我这里是使用的yum 安装的nginx 支持在子配置文件下 编写server文件

使用log_format指令定义了一个main的格式,并在access_log指令中引用了它。假如客户端有发起请求:ip,我们看一下我截取的一个请求的日志记录:
针对 server块
步骤:/etc/nginx/conf.d/ 进入这个目录下
步骤:vim ceshi.conf 编写一个 子配置文件以conf 结尾

log_format  ming  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';
server {listen       80;server_name  localhost;access_log  /var/log/nginx/ming.access.log  ming;location / {root   /usr/share/nginx/html;index  index.html index.htm;}
}

在这里插入图片描述
进行测试 查看 cat /var/log/nginx/ming.access.log 会记录在你创建的文件下
在这里插入图片描述

可以配置段:http, stream, server, location作用域。

针对 location块
编写配置文件

log_format  qing  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';
server {listen       80;server_name  localhost;location / {root   /usr/share/nginx/html;index  index.html index.htm;access_log  /var/log/nginx/qing.access.log  qing;}
}

在这里插入图片描述
测试 cat qing.access.log
在这里插入图片描述

error_log 指令 错误访问日志 级别

在这里插入图片描述

错误日志在Nginx中是通过error_log指令实现的。该指令记录服务器和请求处理过程中的错误信息。

语法

error_log file [level];
Default:
error_log logs/error.log warn;

file 参数指定日志的写入位置。

level 参数指定日志的级别。level可以是debug, info, notice, warn, error, crit, alert,emerg中的任意值。可以看到其取值范围是按紧急程度从低到高排列的。只有日志的错误级别等于或高于level指定的值才会写入错误日志中。
基本用法
error_log /var/logs/nginx/nginx-error.log;
配置段:http, mail, stream, server, location作用域。

例子中指定了错误日志的路径为:/var/logs/nginx/nginx-error.log,日志级别使用默认的 error

跟上面 操作一样 ,我这里就不一一举例示范拉

rewrite_log 指令 用户跳转日志 一般不用

ngx_http_rewrite_module模块提供的。用来记录重写日志的。对于调试重写规则建议开启,启用时将在error log中记录重写日志。
基本语法:

rewrite_log on | off;默认值: 
rewrite_log off;

配置段: http, server, location, if作用域。

配置流量控制相关功能

配置日志记录

默认情况下,Nginx会在日志中记录由于流量限制而延迟或丢弃的请求,如下所示:
在这里插入图片描述
设置错误日志 记录等级

       limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;upstream xianliu {server 196.196.196.131:80 weight=1 max_fails=1 fail_timeout=1;}server {listen 80;server_name localhost;location / {limit_req zone=mylimit; #burst=10;limit_req_log_level warn;limit_req_status  505;proxy_pass http://xianliu;proxy_set_header Host $host:$server_port;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}

在这里插入图片描述
继续访问测试,看error.log日志
在这里插入图片描述
2、发送到客户端的错误代码
一般情况下,客户端超过配置的流量限制时,Nginx响应状态码为503(Service Temporarily Unavailable)。可以使用limit_req_status指令来设置为其它状态码(例如下面的404状态码):

        limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;upstream xianliu {server 196.196.196.131:80 weight=1 max_fails=1 fail_timeout=1;}server {listen 80;server_name localhost;location / {limit_req zone=mylimit; #burst=10;limit_req_log_level warn;limit_req_status  505;proxy_pass http://xianliu;proxy_set_header Host $host:$server_port;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}

在这里插入图片描述
测试查看
在这里插入图片描述
5、Nginx 流量控制总结

以上已经涵盖了Nginx提供的“流量限制”的很多功能,包括为HTTP请求的不同location设置请求速率,给“流量限制”配置burst参数。

Nginx 日志配置总结

Nginx中通过access_logerror_log指令配置访问日志和错误日志,通过log_format我们可以自定义日志格式。

详细的日志配置信息可以参考Nginx官方文档

Nginx的日志轮转**

[root@192 ~]# rpm -ql nginx |grep log
/etc/logrotate.d/nginx
/var/log/nginx
[root@192 ~]# vim /etc/logrotate.d/nginx
/var/log/nginx/*.log {           #指定需要轮转处理的日志文件daily     #日志文件轮转周期,可用值为: daily/weekly/yearlymissingok               # 忽略错误信息rotate 7               # 轮转次数,即最多存储7个归档日志,会删除最久的归档日志minsize 5M	       #限制条件,大于5M的日志文件才进行分割,否则不操作dateext             # 以当前日期作为命名格式compress         # 轮循结束后,已归档日志使用gzip进行压缩delaycompress    # 与compress共用,最近的一次归档不要压缩notifempty         # 日志文件为空,轮循不会继续执行create 640 nginx nginx     #新日志文件的权限sharedscripts     #有多个日志需要轮询时,只执行一次脚本postrotate    # 将日志文件转储后执行的命令。以endscript结尾,命令需要单独成行if [ -f /var/run/nginx.pid ]; then    #判断nginx的PID。# 默认logrotate会以root身份运行kill -USR1 cat /var/run/nginx.pidfiendscript
}执行命令:
[root@192 nginx]# /usr/sbin/logrotate -f /etc/logrotate.conf
创建计划任务:
[root@192 nginx]# crontab -e
59 23 * * * /usr/sbin/logrotate -f /etc/logrotate.conf

http://chatgpt.dhexx.cn/article/4wmB75bE.shtml

相关文章

关于nginx日志配置指令介绍

本文主要介绍了nginx日志配置指令详解,nginx有一个非常灵活的日志记录模式,每个级别的配置可以有各自独立的访问日志,需要的朋友可以参考下 日志对于统计排错来说非常有利的。本文总结了nginx日志相关的配置如access_log、log_format、open_log_file_cache、log_not_found、lo…

宝塔自定义nginx访问日志配置

nginx日志自定义配置 问题 有时nginx默认的日志满足不了需求,比如网站绑定了多个域名,想知道用于访问的是具体域名,这时候就需要自定义nginx日志了。 nginx 中access log 记录了用户访问的页面以及用户浏览器、ip和其他的访问信息 log_for…

Nginx日志配置、错误界面配置、流量控制 第九天

目录 nginx日志配置 nginx日志介绍 access.log error.log open_log_file_cache rewrite.log nginx的日志轮转 nginx错误界面配置 nginx流量控制 nginx如何限流 配置基本限流 nginx流量限制(高级) 流量控制相关功能 nginx日志配置 nginx日志…

运维配置:Nginx日志配置详解

Nginx日志配置详解 前言 Nginx日志对于统计、系统服务排错很有用。Nginx日志主要分为两种:access_log(访问日志)和error_log(错误日志)。通过访问日志我们可以得到用户的IP地址、浏览器的信息,请求的处理时间等信息。错误日志记录了访问出错的信息&…

nginx日志[配置解释]

经常使用nginx,但是对nginx中的日志配置了解的不多,最近简单的学习了一下,在此简略的记录下。 nginx基础配置如下: user nginx; worker_processes auto;error_log /var/log/nginx/error.log notice; pid /var/run/ngi…

后端实践:Nginx日志配置(超详细)

前言 Nginx日志对于统计、系统服务排错很有用。 Nginx日志主要分为两种:access_log(访问日志)和error_log(错误日志)。通过访问日志我们可以得到用户的IP地址、浏览器的信息,请求的处理时间等信息。错误日志记录了访问出错的信息,可以帮助我…

Linux下玩转nginx系列(三)---nginx日志配置文件说明

nginx日志共三个参数。 access_log: 定义日志的路径及格式。 log_format: 定义日志的模板。 open_log_file_cache: 定义日志文件缓存。 nginx access日志配置 access_log日志配置 access_log用来定义日志级别,日志位置。语法如下: 日志级别&#x…

Linux中级实战专题篇三:nginx服务(日志介绍,作用域,格式定义,流量控制,访问控制模块,用户信任登录)

Nginx 日志配置 1、Nginx 日志介绍 Nginx 有一个非常灵活的日志记录模式,每个级别的配置可以有各自独立的访问日志, 所需日志模块 ngx_http_log_module 的支持,日志格式通过 log_format 命令来定义,日志对于统计和排错是非常有利的,下面总结…

英媒:知名色情网站约80万名用户账号遭曝光

英媒称,色情网站Brazzers约80万登记用户的资料遭曝光。黑客从与网站有关的论坛中窃取这些数据。 英国广播公司网站9月7日报道,Brazzersforum是给Brazzers用户讨论影片内容和演员的论坛,很多人看来在两个网站上使用相同的登录名称和密码&#…

黑客团体Anonymous宣称已经攻陷40家儿童色情网站

Anonymous从一成立以来就连续攻击企业和联邦政府的网站,他们的大部分攻击行动公然违法,但事实上这一组织向来以自己的价值观行事,例如他们对儿童色情网站深恶痛绝,在攻击上述网站的同时,自愿扮演起正义维护者的角色。 …

一个emoji表情包处理工具类

一个emoji表情包处理工具类 参考业务场景解决方案方案一(mysql字符集)方案二(emoji表情包转码) 尊重他人成果、转载请注明出处 参考 https://github.com/vdurmont/emoji-java 业务场景 在常规如APP推送、BBS、论坛等类型的业务系…

有趣的表情包购物网站

首页 一个轮播图 首页 换肤 产品页 一个放大镜 我的账户界面 产品信息界面 一个打星小程序 可增删 以及删除的购物车界面

怎么自己制作动图表情包?在线gif生成的操作步骤

gif表情包在我们平时的生活里斗图的时候经常会用到,那么如何用图片制作gif(https://www.gif.cn)表情包呢?今天就分享一个在线gif生成的简单方法,利用gif制作工具将图片转gif动图,下面是详细的操作步骤。 打…

表情符号(emoji)大全,只此一文便够了

本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 表情符号(emoji)大全、只此一文便够了 摘要集中展示笑脸和动物人庆贺和物品食品和物交通和地点符号 符号表smileys_and_peopleanimals_and_naturefood_and_dr…

热门聊天表情包怎么找?怎么制作?多平台表情合集,没有找不到的表情包!搞笑-金馆长-张家辉-卡通-二次元-gif等表情大全

去年的时候我做了一个表情包的小程序:i表情助手。 第一个版本做的比较简陋,一是表情图片资源比较少,二是需要用户填写文案制作,总的来说还是不够好用,所以一直没有进行推广。 过完年放完假回来,我决定好好…

22、实现发送文字、表情包

实现发送文字、表情包 一、 发送原理 二、 前端处理核心方法三、 后端逻辑处理函数 func dispatch(data[]byte)四、对端接收到消息后处理函数五、表情包简单逻辑六、发送图片流程七、 发送语音八、 发送视频测试 实现发送文字、表情包 一、 发送原理前端user1拼接好数据对象 …

是谁在Go标准库的源码中植入了色情网站?

昨天,有网友在群里说在GitHub上发现了色情网站! GitHub上怎么会有色情网站呢?网友给出了下面的截图: 这个出现在Go标准库中的Issue里面,有一个url… 该Issue地址:https://github.com/golang/go/issues/488…

调皮的表情图(Emoji)

调皮的表情&#xff08;Emoji&#xff09; 示例HTMLCSSJS 更多有趣示例 尽在 知屋安砖社区 示例 HTML <div class"main"><div class"emoji"><div class"emoji__eyes abs"><div class"emoji__eye"></div&…

现表情包大幅流行,今天教你们开发个人表情包网站

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者&#xff1a;python学习教程 ( 想要学习Python&#xff1f;Python学习交流群&#xff1a;1039649593&#xff0c;满足你的需求…

python是世界上最好的语言表情包_语言表情包 - 语言微信表情包 - 语言QQ表情包 - 发表情 fabiaoqing.com...

如果你有一个朋友很久没跟你联系了一是他死了是他是学汉语言的三是他在期末考试如果他既是汉语言的又在准备期末考试你就当他死了吧 - 汉语言专业表情包 对方不想和你说话,向你推荐了世界上最好的语言!(PHP)_PHP_语言_对方表情 组织语言中(写作业中)_作业_语言_组织表情 …