• Nginx访问日志、 Nginx日志切割、静态文件不记录日志和过期时间


    1、Nginx访问日志

    配制访问日志:
    默认定义格式:

    log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
    ' $host "$request_uri" $status'
    ' "$http_referer" "$http_user_agent"';  (这是定义日志引用时的名字:combined_realip,后面的内容,就是需要被引用的)
    可以理解为:
    combined_realip = '$remote_addr $http_x_forwarded_for [$time_local]'
    ' $host "$request_uri" $status'
    ' "$http_referer" "$http_user_agent"';


     

    编辑你需要配制的vhost的conf文件:
    vim /usr/local/nginx/conf/vhost/test.com.conf
    加入:access_log   /tmp/test.com.log combined_realip;(这里的access_log 和/tmp 之间有空格)

    检查语法、重新加载、访问查看:
    /usr/local/nginx/sbin/nginx -t
    /usr/local/nginx/sbin/nginx -s reload
    curl -x 127.0.0.1:80 test.com/index.html -I
    cat /tmp/test.com.log

    2、 Nginx日志切割
    在/usr/local/sbin 目录下创建一个****.sh 文件

    定义一个日志脚本:

    d=`date -d "-1 day" +%Y%m%d`
    logdir="/tmp/logs"
    nginx_pid="/usr/local/nginx/logs/nginx.pid"
    cd $logdir
    for log in `ls *.log`
    do
    mv $log $log-$d
    done
    /bin/kill -HUP `cat $nginx_pid`

    写完之后保存退出
    语法检查:
    sh -x sh -x /usr/local/sbin/nginx_logs.sh

    这样子nginx的访问日志给切割出来了。
    再定义一个任务计划:
    crontab -e
    输入:0 0  *  *  *  /bin/bash  /usr/local/sbin/nginx_logs.sh  然后保存退出
    这样子,就可以每天都执行了。

    3、静态文件不记录日志和过期时间

    编辑:vim /usr/local/nginx/conf/vhost/test.com.conf
    加入:

    location ~.*.(gif|jpg|jpeg|png|bmp|swf)$
    {
    expires 7d;
    access_log off;
    }
    location ~.*.(js|css)$
    {
    expires 12h;
    access_log off;
    }

    语法检查:
    /usr/local/nginx/sbin/nginx -t
    重新加载:/usr/local/nginx/sbin/nginx -s reload
    访问查看:

    到此,静态文件访问日志不记录,和用户浏览器的过期时间配制完成。



     

     

     



     

  • 相关阅读:
    16-高级指针
    15-C语言结构体
    14-C语言宏
    13-C语言字符串函数库
    12-C语言字符串
    11-C语言指针
    10-C语言函数
    POJ 1001 高精度乘法
    POJ 1060 多项式乘法和除法取余
    POJ 1318 字典排序
  • 原文地址:https://www.cnblogs.com/nfyx/p/9158137.html
Copyright © 2020-2023  润新知