• Nginx日志功能介绍


    前言

    • 日志对于程序很重要,可用于问题排错,记录程序运行状态等。好的日志可以大大提高程序员的排错效率。Nginx中主要有访客日志错误日志两大部分。

    设置访客日志

    • 访客日志主要记录客户端访问Nginx服务器时一些请求和响应信息。官方文档对于访客日志的说明:access_log
    • 设置访客日志需要在nginx配置文件 /usr/local/nginx/conf/nginx.conf设置以下信息,这个可以设置到http节点下,也可以设置到server节点下。默认已经在http节点下设置了日志。
    •   # 设置日志具体格式
        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  logs/access.log  main;
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
    • 参数解释
      • $remote_addr : 访问网站的客户端IP地址
      • $remote_user : 客户端用户名称
      • $time_local : 访问时间与时区
      • $request : 用户的http请求起始行信息
      • $status : http响应状态码
      • $body_bytes_sent : 服务器发给客户端的响应body字节数
      • $http_referer : 记录请求是哪个链接访问过来的
      • $http_user_agent :记录客户端访问信息
      • $http_x_forwarded_for : 当前端有代理服务器时,设置web节点记录客户端地址的配置,此参数生效的前提是代理服务器也要进行相关的x_forwarded_for设置。
    • 日志记录在 log/access.log中,发送一次请求,就会生成一条访问日志。我分别用postman和谷歌浏览器发送了一次GET请求,可以与上面设置的字段比对下。如果有哪个字段没有拿到数据,就会显示一条短横线。
    • postman请求
    •   192.168.206.1 - - [27/May/2023:19:59:15 -0700] "GET / HTTP/1.1" 200 634 "-" "PostmanRuntime/7.32.2" "-"
      
      • 1
    • 谷歌浏览器请求
    •   192.168.206.1 - - [27/May/2023:20:06:02 -0700] "GET / HTTP/1.1" 200 634 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36" "-"
      
      • 1

    内置变量

    • 上面记录的日志信息是nginx默认设置的一些常用信息,如果我们记录更多的访客信息,可以自己在日志中添加其他变量。具体可参考nginx官网Alphabetical index of variables

    关闭访客日志

    • 如果要关闭日志,在access_log后面的日志存储位置改成off,重新加载配置就关闭了。
    •   access_log  off;
      
      • 1

    设置错误日志

    • 错误日志默认是设置的全局的,也可以写到http节点或者server节点中。
    •   error_log  logs/error.log error;
      
      • 1
    • 参数1表示日志的保存目录,参数2表示日志级别。日志级别有以下几种,默认是error
      • debug info notice warn error crit alert
  • 相关阅读:
    python练习(2)
    使用docker-compose私有化部署 GitLab
    每日三题 7.24
    人工智能与神经网络BenchMark--MLPerf
    java毕业设计博物馆信息管理mybatis+源码+调试部署+系统+数据库+lw
    卷积神经网络 语义分割,图像分割神经网络算法
    并发bug之源(二)-有序性
    51单片机DS1302时钟
    NOA高歌猛进,智驾地图何去何从?
    西门子6ES72881ST600AA0
  • 原文地址:https://blog.csdn.net/new9232/article/details/130910096