• nginx(四)初识nginx日志文件


    nginx 日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log,用来指定日志文件的存放路径、格式和缓存大小,通俗的理解就是先用log_format来定义自己想用的日志格式,然后在用zccess_log定义虚拟主机时或全局日志时 在把定义的log_format 跟在后面;

    1、log_format 格式

         log_format       name( 格式名字)  格式样式(即想要得到什么样的日志内容)

      默认的示例:

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

    注释:

    $remote_addr   与$http_x_forwarded_for 用以记录客户端的ip地址;

    $remote_user   :用来记录客户端用户名称;

    $time_local  : 用来记录访问时间与时区;  

    $request  :  用来记录请求的url与http协议;

    $status     :  用来记录请求状态;成功是200,

    $body_bytes_s ent  :记录发送给客户端文件主体内容大小;

    $http_referer  :用来记录从那个页面链接访问过来的;

    $http_user_agent  :记录客户毒啊浏览器的相关信息;

     通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过$remote_add拿到的IP地址是反向代理服务器的iP地址。反向代理服务器在转发请求的http头信息中,可以增加x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址;

    log_format     mylogformat     $http_x_forwarded_for- $remote_user [$time_local] '

                                                  ' "$request"   '$status $body_bytes_s ent '

                                                  ' "$http_referer" "$http_user_agent" ';

    上面这个是涨宴老师的日志例子;

    2、用access_log指令日志文件存放路径;

    用了log_format 指令设置了日志格式之后,需要用access_log指令指定日志文件的存放路径;

    access_log        path(存放路径)                   format (自定义日志名称)

    示例:

    #access_log             logs/access.log              main;

    我们用log_format 定义了一个mylogformat的日志 我们可以写成这样

    access_log             logs/access.log         mylogformat ;

    如果不想启用日志 :

    access_log off ;

    在定义日志目录中要注意的是,nginx进程设置的用户和组必须有对该路径 创建文件的权限,假设nginx的usr指令设置的用户名 和用户组都是www,而logs 目录的用户名和组是root,那么日志文件将无法被创建;

    3、nginx日志文件的切割:

    [root@mgmserver logs]# ll
    总计 48
    -rw-r--r-- 1 root root  1891 09-02 14:59 192.168.0.28.access.log
    -rw-r--r-- 1 root root   531 09-02 13:52 192.168.0.37.access.log
    -rw-r--r-- 1 root root   531 09-02 13:52 192.168.0.38.access.log


    [root@mgmserver logs]# mv 192.168.0.28.access.log /tmp/nginx.28.log
     

    [root@mgmserver logs]# kill -USR1 `cat /usr/local/nginx/logs/nginx.pid `

    [root@mgmserver logs]# ll
    总计 36
    -rw-r--r-- 1 nginx root     0 09-02 15:05 192.168.0.28.access.log
    -rw-r--r-- 1 nginx root   531 09-02 13:52 192.168.0.37.access.log
    -rw-r--r-- 1 nginx root   531 09-02 13:52 192.168.0.38.access.log
     

    先把日志拷贝出来,然后想nginx发送信号 ,让nginx重新生成一个日志文件;

     4、nginx的压缩输出配置

    nginx的压缩输出由一组压缩指令来实现,gzip的压缩输出位于http {......}两个大括号之间;

      gzip on;
      gzip_min_length  1k;
      gzip_buffers     416k;
      gzip_http_version 1.1;
      gzip_comp_level 2;
      gzip_types       text/plain application/x-javascript text/css application/xml;
      gzip_vary on;

    5、nginx自动列目录配置;

    可以在 某一虚拟主机的location /{......}
    目录中配置自动列目录,加上下面代码:

    location  . {

                      autoindex on;

                      autoindex_exact_size  [on |off]     #设定索引时文件大小的单位

                      autoindex_localtime  [on |off ]   #开启以本地时间来显示文件时间的功能,默认为关

     

                }

  • 相关阅读:
    aria2安装webui
    c++指针参数是如何传递内存的
    ssl 证书申请
    LNMP一键包安装后解决MySQL无法远程连接问题
    流水线设计 转:http://www.opengpu.org/forum.php?mod=viewthread&tid=2424
    IUS nc simulator
    ccd与coms摄像头的区别
    昨天下午写的FPGA驱动VGA显示图片
    tcl脚本
    用FPGA驱动ov7670摄像头用tft9328显示
  • 原文地址:https://www.cnblogs.com/jym-sunshine/p/4821332.html
Copyright © 2020-2023  润新知