nginx日志[配置解释]
经常使用nginx,但是对nginx中的日志配置了解的不多,最近简单的学习了一下,在此简略的记录下。
nginx基础配置如下:
user nginx;
worker_processes auto;error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;events {worker_connections 1024;
}http {include /etc/nginx/mime.types;default_type application/octet-stream;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;sendfile on;#tcp_nopush on;keepalive_timeout 65;#gzip on;include /etc/nginx/conf.d/*.conf;
}
在此主要记录下 error_log和access_log。
error_log:
nginx配置中第三行“/var/log/nginx/error.log”表示nginx的error日志记录的地址配置,“notice”表示错误级别。
error_log的级别分为 debug, info, notice, warn, error, crit 我用的nginx版本为1.20.2,错误级别默认为notice。crit 记录的日志最少,而debug记录的日志最多。如果你的nginx遇到一些问题,比如502比较频繁出现,但是看默认的error_log并没有看到有意义的信息,那么就可以调一下错误日志的级别,当你调成error级别时,错误日志记录的内容会更加丰富。
access_log:
配置中的access_log,记录的是nginx的访问日志,路径是“/var/log/nginx/access.log”,“main”是定义的格式名称,要和log_format后面的保持一致。
[例:log_format后面是"aaa",那么access_log最后面就得是"aaa"]
log_format用来设置日志格式,要注意log_format指令设置的名称在配置文件中是不能重复的。默认的这些参数代表的意义如下:
1.$remote_addr用于记录客户端IP地址;
2.$remote_user用于记录远程客户端用户名称;
3.$time_local用于记录访问时间与时区;
4.$request用于记录请求URL与HTTP协议内容;
5.$status用于记录请求状态,例:成功时状态为200;
6.$body_bytes_sent用于记录发送客户端的文件主体内容大小;
7.$http_referer用于记录是从哪个页面链接访问过来的;
8.$http_user_agent用于记录客户浏览器的相关信息。
9.$http_x_forwarded_for:X-Forwarded-For 是一个HTTP拓展头,起初在 RFC2616 (HTTP/1.1) 中并未定义,但后来被广泛用于表示客户端真实IP。后来在 RFC7239 (Forwarded HTTP Extension) 中又提供了标准的 Forwarded 头,使用 X-Forwarded-For 来提取真实IP,成了事实上的标准。
需要注意的是:X-Forwarded-For 存储了客户端IP以及请求链路上各代理IP,假设请求依次通过 proxy1、proxy2 后抵达服务,那 X-Forwarded-For 的值为:客户端IP, proxy1 IP, proxy2 IP,IP之间以逗号隔开。当使用 nginx 做反向代理时,通过 HttpServletRequest 的 getRemoteAddr() 得到的是最后一个代理所在机器的IP,而非客户端的真实IP。
我们可以对access_log做配置,记录更多的信息。可以参照nginx官方给出的access_log配置文档,里面有nginx支持的变量。http://nginx.org/en/docs/http/ngx_http_log_module.html#access_loghttp://nginx.org/en/docs/http/ngx_http_log_module.html#access_log
配置完毕后,先用
nginx -tc /etc/nginx/nginx.conf
检查下语法,没问题重载nginx服务
nginx -s reload
nginx日志[配置解释]相关推荐
- 渗透测试技术分享——nginx日志配置
Nginx 日志配置 0x00 前言 日志使用用来进行数据统计.问题排错的重要手段.本文主要介绍 nginx 日志相关的配置如 access_log.log_format.log_not_found. ...
- 九爷带你了解 nginx 日志配置指令详解
nginx日志配置指令详解 日志对于统计排错来说非常有利的. 本文总结了nginx日志相关的配置如 access_log.log_format.open_log_file_cache.log_not_ ...
- Nginx 日志配置实践
前言 Nginx日志对于统计.系统服务排错很有用. Nginx日志主要分为两种:access_log(访问日志)和error_log(错误日志).通过访问日志我们可以得到用户的IP地址.浏览器的信息, ...
- Nginx日志配置、错误界面配置、流量控制 第九天
目录 nginx日志配置 nginx日志介绍 access.log error.log open_log_file_cache rewrite.log nginx的日志轮转 nginx错误界面配置 n ...
- Nginx 日志配置
1.Nginx 日志介绍 Nginx 有一个非常灵活的日志记录模式,每个级别的配置可以有各自独立的访问日志, 所需日志模块 ngx_http_log_module 的支持,日志格式通过 log_for ...
- Nginx 日志配置、日志切割
Nginx 日志配置.日志切割 设置 access.log 语法 log_format自定义格式 设置error_log 语法 日志切割 前置文章:Nginx 的配置文件 nginx.conf Ngi ...
- 【Nginx 日志配置】【访问日志log_format】【错误日志error_log 指令】【Nginx的日志轮转】
文章目录 Nginx 日志配置 `log_format` 指令中常用的一些变量: 访问日志 案例 可以配置段:`http`, `stream`, `server`, `location`作用域. er ...
- 运维配置:Nginx日志配置详解
Nginx日志配置详解 前言 Nginx日志对于统计.系统服务排错很有用.Nginx日志主要分为两种:access_log(访问日志)和error_log(错误日志).通过访问日志我们可以得到用户的I ...
- nginx 使用配置解释
nginx 安装 安装依赖 下载 编译安装 编译时将 ssl 模块静态编译 nginx 服务架构 模块化结构 模块化开发 nginx 的模块化结构 nginx 的模块清单 nginx 的 web 请求 ...
最新文章
- 开源贡献 计算_如何克服恐惧并为开源做贡献
- mac地址修改_优酷路由宝救砖时MAC和无线参数及SN恢复方法
- Facebook图片存储系统Haystack——存小文件,本质上是将多个小文件合并为一个大文件来降低io次数,meta data里存偏移量...
- 【零基础入门数据挖掘】-模型融合
- Go gin其他数据类型渲染
- ln -s 的一个坑
- 毕业论文计算机附录模板,毕业论文格式是什么,附录又是什么?
- 邂逅StringIndexOutOfBoundsException
- c/c++ 指针函数 和 函数指针
- 删除隐藏版本信息 版本回退_Visual Studio Code 2019 August版本发布,新功能尝鲜
- ThoughtWorks待遇
- lol英雄全皮肤爬取
- c语言邻接表的普里姆算法,图的遍历和生成树求解实现(邻接矩阵、邻接表 —图的深度广度遍历算法的实现和最小生成树PRIM和KRU...
- php iis 一键安装包,php iis一键安装包指的是什么
- Fiddler中inspector的用法2-1
- 使用Epubor Ultimate将Kindle电子书导出为PDF(仅Windows)
- uniapp 解决phoneX原生tabbar 安全区域问题
- 清华大学邓俊辉《数据结构(C++语言版)第3版》随书资源
- 牛客Top101 JS合并两个排序的列表
- 深度学习中模型训练效果不好的原因以及防止过拟合的方法