• Nginx日志


    一、Nginx的日志类型

      当我们查看nginx安装目录下有个logs,包含了三个文件 "access.log 、error.log、nginx.pid"。

      access_log:记录每一次http请求的访问状态,用于分析每一次请求和交互,行为进行分析,依赖于log_format实现。

      error.log: 记录nginx处理http请求的错误的状态,以及nginx本身服务的运行错误状态,按照不同的级别进行记录。

    二、访问日志配置说明

      1.日志格式的定义说明

        log_format:将nginx中的变量组织在一起,记录到access_log中。

        定义语法: log_format name string ……;

        其配置位置在http标签内。

        Nginx日志格式中默认的参数配置:

          log_format  main  '$remote_addr - $remote_user[$time_local]"$request" '
          '$status $body_bytes_sent "$http_referer" '
          '"$http_user_agent" "$http_x_forwarded_for"';

        其中,log_format为日志格式关键参数,不能改变。
        main是为日志格式指定的标签,记录日志时通过这个main标签选择指定的格式。其后所接的所有内容都是可以记录的日志信息。

        默认的main格式中具体用了哪些选项来记录日志?

       在没有特殊要求的情况下,采用默认的配置即可。

      2.记录日志的access_log参数说明

        下面是有关access_log参数的官方说明。

        语法如下:
      access_log path[format[buffer=size[flush=time]][if=condition]];
      access_log path format gzip[=level][buffer=size][flush=time][if=condition];
      access_log syslog:server=address[,parameter=value][format[if=condition]];123
     
      buffer=size为存放访问日志的缓冲区大小,flush=time为将缓冲区的日志刷到磁盘的时间,gzip[=level]表示压缩级别,[if=condition]表示其他条件。一般的场景中,这些参数都无须配置,极端优化时才可能会考虑这些参数。
     
      access_log off中的off,表示不记录访问日志。
      默认配置:access_log logs/access.log combined;
      放置位置在http、server、location、if in location、limit_except中。
     
     
    三、访问日志配置文件(nginx.conf)
     
      编辑主配置文件 nginx.conf ,配置日志格式如下:

      然后在每个虚拟主机里进行配置,使其使用上述格式记录用户访问日志。命令如下:

      如果不指定日志格式就会用默认的combined格式记录日志。
      接下来进行检查语法,重新加载配置,命令如下:

      进行测试访问:

      [root@private conf]# ls -l ../logs/access_blog.log

      [root@private conf]# tailf -5 ../logs/access_blog.log

      

  • 相关阅读:
    需要学习的技术
    面试资料
    数据库设计三大范式
    java List 排序 Collections.sort() 对 List 排序
    hibernate的延迟加载
    索引失效原因总结
    mybatis调用oracle存储过程
    Android开发中需要注意哪些坑
    Intent在Activity之间传值的几种方式
    Android动画(Animations)
  • 原文地址:https://www.cnblogs.com/zhaihuijie/p/12757561.html
Copyright © 2020-2023  润新知