使用log_format为Nginx服务器设置更详细的日志格式方法

使用log_format为Nginx服务器设置更详细的日志格式可以帮助我们更好地监控和分析访问日志。下面是设置更详细的日志格式的完整攻略:

步骤一:备份Nginx配置文件

在进行任何更改之前,请确保备份您的Nginx配置文件。以Ubuntu 18.04为例,可以使用以下命令备份配置文件:

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

步骤二:打开Nginx配置文件

使用文本编辑器打开Nginx配置文件,例如在Ubuntu 18.04中,可以使用如下命令打开Nginx配置文件:

sudo nano /etc/nginx/nginx.conf

步骤三:配置log_format

在http块中,使用log_format设置更详细的日志格式,例如:

http {
    log_format  acc_combined  '$remote_addr - $remote_user [$time_local] "$request" '
                            '$status $body_bytes_sent "$http_referer" '
                            '"$http_user_agent" "$http_x_forwarded_for"';
}

上面的log_format将在访问日志中包含远程IP地址,远程用户身份,访问时间,请求URI,HTTP响应状态码,响应体大小,Referer,User-Agent和X-Forwarded-For等信息。

步骤四:启用log_format

在server块中使用access_log指令启用log_format,例如:

server {
    listen 80;
    server_name example.com;
    access_log /var/log/nginx/access.log acc_combined;
    ...
}

上述access_log指令中的acc_combined对应的就是上面所定义的log_format。当然,如果不想使用自定义的log_format,可以直接使用预设的响应式Access Log,例如:

access_log /var/log/nginx/access.log;

步骤五:重新加载Nginx配置文件

保存Nginx配置文件后,使用以下命令重新加载配置文件:

sudo systemctl reload nginx

设置完成后,每当有客户端访问服务器时,做出的响应都将被记录到Nginx日志文件中,该日志文件的位置为上述设置access_log指令中的文件路径。

示例一:nginx.conf配置文件中的log_format设置

http {
    ##日志格式化 
    log_format  webservers  '$remote_addr $remote_user [$time_local] "$request" '
                         '$status $body_bytes_sent "$http_referer" '
                         '"$http_user_agent" $gzip_ratio $request_time';
}

示例二:server块配置文件中的access_log指令

server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;
        #access_log  /var/log/nginx/host.access.log  main;

        ##将web1日志单独写入一个文件 
        access_log /data/logs/nginx/access.log webservers;

        location /nginx_status {
          vhost_traffic_status_display;
          vhost_traffic_status_display_format html;
        }
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
}

以上两个示例来自Nginx官网,第一个示例是在http块中设置log_format,第二个示例在server块中使用access_log指令启用log_format。其中示例一中的log_format名称为webservers,涵盖了请求客户端IP地址,远程用户身份,访问时间,请求的URI,HTTP响应状态码,响应体大小,Referer,User-Agent,压缩比率和请求处理时间等信息。示例二中使用access_log指令将log_format记录到了access.log文件中。在这个例子中,使用的log_format是webservers,与示例一中的log_format名称保持一致。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用log_format为Nginx服务器设置更详细的日志格式方法 - Python技术站

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

相关文章

  • nginx 过滤了自定义的请求头参数

      请求头参数为  token_info  然后本地测试是OK的,但是放到服务器上就获取不到请求头参数了,   本地用的单纯 代码启动的http server,没用nginx   后来发现 了这个参数       underscores_in_headers on; #该属性默认为off,表示如果header name中包含下划线,则忽略掉。复制代码    …

    Nginx 2023年4月11日
    00
  • 如何安装Nginx?

    安装Nginx的攻略如下: 确认操作系统 在安装Nginx之前,需要确认操作系统是否包含当前的预安装包。例如: Ubuntu: apt-get update CentOS: yum update 安装Nginx Ubuntu系统下安装 在Ubuntu系统下可以通过以下命令安装Nginx: sudo apt-get install nginx 安装完成后,启动…

    Nginx 2023年4月19日
    00
  • nginx使用总结一

    在mac os 10.11.6下配置Nginx 打开命令终端找到安装路径: cd /usr/local/etc/nginx/ 然后vi 打开nginx.conf文件配置:在最后行加上  include servers/*; #user nobody; worker_processes 1; #error_log logs/error.log; #error_…

    Nginx 2023年4月10日
    00
  • K8S Pod Sidecar 应用场景之一-加入 NGINX Sidecar 做反代和 web 服务器

    Kubernetes Pod Sidecar 简介 Sidecar 是一个独立的容器,与 Kubernetes pod 中的应用容器一起运行,是一种辅助性的应用。 Sidecar 的常见辅助性功能有这么几种: 服务网格 (service mesh) 代理 监控 Exporter(如 redis exporter) ConfigMap 或/和 Secret R…

    Nginx 2023年4月13日
    00
  • 详解Nginx中的geo模块与利用其配置负载均衡的示例

    详解Nginx中的geo模块与利用其配置负载均衡的示例 什么是Nginx中的geo模块 Nginx的geo模块是一个用于处理IP地址的模块,它能够将访问者的IP地址与预定义的地址段进行匹配,然后返回一个字符串或变量,其可以应用于各种场景,例如限制访问,屏蔽流量等。 如何使用Nginx中的geo模块 使用geo模块需要在Nginx配置文件中定义好变量和变量对应…

    Nginx 2023年5月16日
    00
  • docker-compose 部署 Nginx、Postgres、redis、java应用

    文件夹结构 C:\Users\Administrator\Desktop\lsheet>tree /f │ │ docker-compose.yml #部署文件 │ ├─java-server │ application-dev.yml #项目配置 │ application.yml #项目配置 │ web-lockysheet-server.jar …

    2023年4月9日
    00
  • Nginx如何配置HTTPS详解

    1. 什么是HTTPS? HTTPS(全称:Hypertext Transfer Protocol Secure),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS在HTTP的基础下加入SSL,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。HTTPS存在不同于HTTP的默认端口及一个…

    2023年4月10日
    00
  • linux安装nginx

    1.下载nginx,下载tar.gz类型的 https://nginx.org/download/ 2.上传到linux目录解压 3.如果没有安装pcre,需要先安装pcre,nginx依赖该环境 https://sourceforge.net/projects/pcre/ 官网下载有点慢,推荐使用yum源安装:yum -y install gcc pcre…

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