nginx日志格式分析以及修改详解

下面我来为你分享关于“nginx日志格式分析以及修改详解”的完整攻略,包含两条示例说明。

一、nginx访问日志格式分析

nginx访问日志默认的格式为$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $request_time。其中,各个字段含义如下:

  • $remote_addr:客户端IP地址;
  • $remote_user:客户端用户名称;
  • $time_local:访问时间;
  • "$request":HTTP请求方法、访问的URL、HTTP协议版本和请求头信息的组合;
  • $status:响应状态码;
  • $body_bytes_sent:响应的字节数(不包含响应头的字节数);
  • "$http_referer":referer信息;
  • "$http_user_agent":用户终端的User Agent;
  • $request_time:处理请求所消耗的时间。

如果我们需要对访问日志进行分析,可以通过修改nginx.conf文件中的access_log来改变访问日志的输出格式,比如:

http {
    log_format main '$remote_addr - $remote_user [$time_local] '
                      '"$request" $status $body_bytes_sent '
                      '"$http_referer" "$http_user_agent"';
    access_log logs/access.log main;
}

在上面的示例中,我们将access_log的第二个参数修改为我们自定义的日志格式名称main,并在log_format指令中指定了新的日志格式。此时,nginx访问日志将按照我们定义的格式进行输出。

二、修改nginx访问日志输出格式

有时候,我们需要对nginx访问日志的输出格式进行修改,可以通过修改log_format指令来实现。以下是一个示例:

http {
    log_format mylog '$remote_addr - $remote_user [$time_local] '
                      '"$request" $status $body_bytes_sent '
                      '"$http_referer" "$http_user_agent" '
                      'upstream_response_time $upstream_response_time '
                      'request_time $request_time';
    access_log logs/access.log mylog;
}

在上面的示例中,我们增加了$upstream_response_time$request_time两个字段。其中,$upstream_response_time表示向上游服务器发送请求并等待响应的时间,$request_time表示处理请求所消耗的时间。这样,在访问日志中就能看到这两个有用的字段信息了。

三、实际场景

在实际的nginx访问日志中,一般都会包含一些额外的字段信息,如代理服务器的IP地址、客户端的真实IP地址等,以下是一个示例:

http {
    log_format mylog '$remote_addr - $remote_user [$time_local] '
                      '"$request" $status $body_bytes_sent '
                      '"$http_referer" "$http_user_agent" '
                      '"$http_x_forwarded_for" "$proxy_add_x_forwarded_for" '
                      'upstream_response_time $upstream_response_time '
                      'request_time $request_time';
    access_log logs/access.log mylog;
}

在上面的示例中,我们增加了"$http_x_forwarded_for""$proxy_add_x_forwarded_for"字段,分别表示客户端真实IP地址和代理服务器IP地址。通过这些额外的字段信息,可以更好地分析和监控nginx访问日志。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nginx日志格式分析以及修改详解 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Nginx-在线升级、降级

    Nginx的在线升级不需要停服务 1.我们要准备好升级的Nginx软件包,解压; [root@sxb-1 Nginx]# tar xf nginx-1.13.4.tar 2.备份好原先的Nginx数据; [root@sxb-1 Nginx]# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx…

    2023年4月10日
    00
  • Nginx 合并请求连接且加速网站访问实例详解

    下面是对” Nginx 合并请求连接且加速网站访问实例详解 “的完整攻略,包括两条示例说明: Nginx 合并请求连接且加速网站访问实例详解 原理说明 Nginx 的合并请求连接和加速网站访问的原理是,将多个小的 HTTP 请求合并为一个 HTTP 请求,从而减少了 HTTP 请求的数量,提高了网站的访问速度。 示例一:合并多个 JavaScript 文件 …

    Nginx 2023年5月16日
    00
  • nginx搭建静态资源服务器遇到403 Forbidden

    1.在nginx中配置静态服务器 server { listen 91; server_name localhost; location / { root /root/software/qingfeng; index index.html; } }    这是我放静态资源的/root/software/qingfeng目录(注意:我这放在/root目录下) …

    Nginx 2023年4月12日
    00
  • windows下快速安装nginx并配置开机自启动的方法

    下面是“Windows下快速安装nginx并配置开机自启动的方法”的完整攻略。 在Windows操作系统中下载并解压nginx 首先,我们需要在nginx官网(https://nginx.org/)上下载nginx的Windows版本。选择对应的稳定版本下载即可。 下载完成后,在本地新建一个文件夹,进入文件夹,将下载的nginx压缩包解压到该文件夹中。 解压…

    Nginx 2023年5月16日
    00
  • Linux CentOS6.5安装Nginx1.8.0

    1. 准备1.8.0安装包 nginx-1.8.0.tar.gz 2. 安装第三方依赖 yum install gcc-c++ yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install -y openssl openssl-devel 3. 解压安装包并进入nginx目…

    Nginx 2023年4月12日
    00
  • nginx配置X-Forwarded-For 防止伪造ip

    网上常见nginx配置ip请求头   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 风险: 用户可以通过自己设置请求头来伪造ip,比如用户在发起http请求是自己测试请求头x-forwarded-for:192.168.0.151。那么服务器通过x-forwarded-for获取到的…

    Nginx 2023年4月11日
    00
  • Nginx实现https和跳转功能

    一、Nginx-HTTPS #安装nginx时,需要将 –with-http_ssl_module模块开启1.首先生成密钥和证书文件 #创建证书存放目录 mkdir /usr/local/nginx/conf/ssl/ #在刚才创建的目录中建立服务器私钥,RSA密钥 openssl genrsa -out ccku.key 1024 #生成csr文件;依次…

    Nginx 2023年4月13日
    00
  • nginx提示地址或端口被占用

    今天小编在启动nginx 的时候遇到如下的错误   Starting nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already use) 这个就是nginx 的80 端口被占用了 我们时常在nginx启动或者关闭关闭过多的情况下出现的 1、检查80端口被什么程序占用 fuse…

    Nginx 2023年4月11日
    00
合作推广
合作推广
分享本页
返回顶部