• 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,创建图片

     

  • 相关阅读:
    流量分析 (WireShark)
    WEB小技俩
    PHP伪协议
    php弱类型基础
    宽字节注入
    布尔盲注
    时间盲注
    Odoo13教程-Odoo快捷键使用_江苏欧度软件
    Odoo,快速上手Odoo,来了解Odoo几个标准模块
    开源Odoo13更新的模块功能信息(译文)
  • 原文地址:https://www.cnblogs.com/davery/p/8974809.html
Copyright © 2020-2023  润新知