zoukankan      html  css  js  c++  java
  • Linux centosVMware Nginx访问日志、Nginx日志切割、静态文件不记录日志和过期时间

    一、Nginx访问日志

    vim /usr/local/nginx/conf/nginx.conf //搜索log_format

      日至格式

    改为davery格式

    $remote_addr  客户端IP(公网IP)

    $http_x_forwarded_for  代理服务器的IP

    $time_local    服务器本地时间

    $host  访问主机名(域名)

    $request_uri  访问的url地址

    $status  访问的url地址

    $http_referer  状态码

    $http_referer     referer

    $http_user_agent  user_agent

    除了在主配置文件nginx.conf里定义日志格式外,还需要在虚拟主机配置文件中增加

     vim /usr/local/nginx/conf/vhost/aaa.com.conf

    access_log /tmp/test.com.log davery;

    这里的davery就是在nginx.conf中定义的日志格式名字

    测试重加载

     

    重访问

    查看log记录

    cat /tmp/aaa.com.conf.log

    二、Nginx日志切割

    自定义shell 脚本

    vim /usr/local/sbin/nginx_logrotate.sh//写入如下内容,日志的路径都在/usr/local/sbin/下边

     

    #! /bin/bash

    ## 假设nginx的日志存放路径为/data/logs/

    d=`date -d "-1 day" +%Y%m%d`

    logdir="/data/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` 任务计划

    pid路径

    [root@davery vhost]# for f in `ls `; do ls -l $f; done

    会做两个循环 aaa.com.conf 和aaa.conf

    查看脚本执行顺序

    sh -x /usr/local/sbin/nginx_logrotate.sh

     ls /tmp/  接可以看到新的log

     清除不需要的过期日志

    查找log

    删除log

    查看脚本内容

    cat /usr/local/sbin/nginx_logrotate.sh

     

    任务计划,每天0:0执行一次脚本

    crontab -e

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

    cd /usr/local/nginx/conf/vhost/

     

    location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$     .*通配    .脱义

    {

    expires 7d;

    access_log off;

    }

    location ~ .*.(js|css)$

    { expires 12h;

    access_log off;

    }

    改为

    重加载

     

     测试进入虚拟主机文件test.com,创建图片

     

  • 相关阅读:
    HTTP 缓存图解
    http协议构成整理
    HTTP2.0
    Event Loop
    斐波那契数列
    归并排序
    快速排序
    史上最全前端资源
    Js 将 Date 转化为指定格式的String
    vue-cli webpack全局引入jquery
  • 原文地址:https://www.cnblogs.com/davery/p/8974809.html
Copyright © 2011-2022 走看看