zoukankan      html  css  js  c++  java
  • nginx日志

    http段中定义格式

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ' 
                      '$status $body_bytes_sent "$http_referer" ' 
                    '"$http_user_agent" "$http_x_forwarded_for"'; 
    open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2;
    #对于每一条日志记录,都将是先打开文件,再写入日志,然后关闭。可以使用open_log_file_cache来设置日志文件缓存(默认是off),格式如下:
    #参数注释如下:
    #max:设置缓存中的最大文件描述符数量,如果缓存被占满,采用LRU算法将描述符关闭。
    #inactive:设置存活时间,默认是10s
    #min_uses:设置在inactive时间段内,日志文件最少使用多少次后,该日志文件描述符记入缓存中,默认是1次
    #valid:设置检查频率,默认60s
    #off:禁用缓存
    

    在日志格式样式中:
    $remote_addr和$http_x_forwarded_for用于记录IP地址
    $remote_user用于记录远程客户端用户名称;
    $time_local用于记录访问时间与时区;
    $request用于记录请求URL与HTTP协议;
    $status用于记录请求状态,例如成功时状态为200,页面找不到时状态为404;
    $body_bytes_sent用于记录发送给客户端的文件主体内容大小;
    $http_referer用于记录是从哪个页面链接访问过来的;
    $http_user_agent用于记录客户端浏览器的相关信息。

    server段中使用

    #声明log      log位置                log格式;
    access_log    logs/access_8080.log      main;   
    

    每天定时切割 Nginx 日志的脚本

    创建脚本/usr/local/nginx/sbin/cut_nginx_log.sh

    vi /usr/local/nginx/sbin/cut_nginx_log.sh

    #!/bin/bash 
    # This script run at 00:00 
    # The Nginx logs path 
    logs_path="/usr/local/nginx/logs/" 
    mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/ 
    mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y%m%d").log 
    kill -USR1 `cat /usr/local/nginx/nginx.pid` 
    

    设置 crontab,每天凌晨 00:00 切割 nginx 访问日志

    crontab -e 
    00 00 * * * /bin/bash  /usr/local/nginx/sbin/cut_nginx_log.sh 
    
  • 相关阅读:
    mysql之创建数据库,创建数据表
    mysql之group by,order by
    一个人选出2门以上不及格的课程sql语句
    GIt入门
    数据库索引工作原理
    题目:50个人围城一圈数到3和3的倍数时出圈,问剩下的人是谁?原来的位置是多少?
    约瑟夫环:递归算法
    K-means算法的java实现,聚类分析681个三国武将
    java用一个for循环输出99乘法表
    写一个基于UDP协议的聊天小程序
  • 原文地址:https://www.cnblogs.com/qinsilandiao/p/10903775.html
Copyright © 2011-2022 走看看