LNMP详解(十四)——Nginx日志详解

2023-05-16

今天继续给大家介绍Linux运维相关知识,本文主要内容是Nginx日志分析。

一、Nginx日志分析简介

当Nginx作为web服务器时,会提供对外访问功能,这时对Nginx日志运行的错误和访问记录会进行记录,这就是Nginx的日志。Nginx日志主要记录以下信息:
1、记录Nginx服务启动和停止的信息。
2、记录客户端访问Nginx服务的信息,包括客户端IP、客户端浏览器、访问时间、访问状态等等。
3、记录Nginx运行的异常情情况及错误信息。
如果是使用源码的方式安装Nginx,那么Nginx日志在安装目录下的logs目录下,在该目录下存在访问日志和错误日志,访问日志如下所示:
在这里插入图片描述
错误日志如下所示:
在这里插入图片描述
在企业生产环境中,当Nginx运行后,SA(系统分析师)会密切关注Nginx日志的相关内容,发现异常情况及时处理。

二、Nginx日志配置

Nginx对于日志的配置,分为日志格式和日志文件两部分,日志格式定义了日志中含有什么内容,而日志文件定义了日志文件的位置和文件名。
Nginx的日志包含访问日志access_log和错误日志error_log两种,错误日志配置格式如下:
error_log 【日志文件】 【日志级别】
错误日志的级别有以下6种,从高到低分别是debug——info——notice——warning——error——critic,含义分别是测试、显示、通知、警告、报错和紧急,显示信息逐步减少。在生产环境中,我们一般将日志级别定义为warning及以上。
访问日志配置格式如下:
log_format 【日志格式名】 【日志参数】
access_log 【日志文件】 【日志格式】
log_format定义了日志中含有什么类型的参数,而access_log定义了访问日志的位置和采用的格式。
定义access_log时必须定义log_format。

三、Nginx日志参数

有时我们需要根据我们的需要来定义Nginx访问日志的参数,即Nginx访问日志的内容,这时需要我们对Nginx日志的参数有一定的了解,从而筛选出我们想要的信息。常见的Nginx日志参数及其含义如下所示:
1、$remote_addr
表示客户端IP地址。
2、$server_name
表示虚拟主机名称
3、$http_x_forward_for
表示HTTP端请求的真实IP
4、$remote_user
表示客户端用户
5、$request
表示请求的URL和HTTP协议
6、$status
表示返回的HTTP状态码
7、$upstream_status
表示upstream的状态,Nginx作为反向代理时使用。
8、$ssl_protocol
表示SSL协议版本
9、$body_bytes_sent
表示Nginx发送给客户端的字节数,不包括HTTP头的大小
10、$bytes_sent
表示Nginx发送给客户端的字节数,包括HTTP头的大小
11、$connection_requests
表示通过当前链接获得的请求数量
12、$http_referer
表示该访问的来源网页
13、$http_user_agent
表示客户端浏览器
14、$request_length
表示HTTP请求的长度,包括请求行、请求头和请求正文
15、$msec
表示日志写入时间
16、$request_time
表示请求处理时间,单位为秒,精度为毫秒级别,表示Nginx接受用户请求的第一个字节到发送完响应数据的时间,包括接收请求数据时间
17、$upstream_response_time
表示应用程序响应时间,Nginx作为反向代理时使用,计算从Nginx向后端真实服务器建立链接开始到接受完完整数据然后关闭链接的总时间。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LNMP详解(十四)——Nginx日志详解 的相关文章

随机推荐