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

1,Nginx访问日志。

     日志格式:vim /usr/local/nginx/conf/nginx.conf //搜索log_format

    $remote_addr:客户端IP(公网IP)

    $http_x_forwarded_for:代理服务器的IP

    $time_local:服务器本地时间

    $host:访问主机名(域名)

    $request_uri:访问的url地址

    $status:状态码

    $http_referer:referer

    $http_user_agent:user_agent

    除了在主配置文件nginx.conf里定义日志格式外,还需要在虚拟主机配置文件中增加
    access_log /tmp/1.log combined_realip;
    这里的combined_realip就是在nginx.conf中定义的日志格式名字
    -t && -s reload
    curl -x127.0.0.1:80 test.com -I

    cat /tmp/test.com.log

2,Nginx日志切割。

    自定义shell 脚本
     vim /usr/local/sbin/nginx_logrotate.sh //写入如下内容
    #! /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`

    # sh -x /usr/local/sbin/nginx_logrotate.sh 
    ++ date -d '-1 day' +%Y%m%d
    + d=20180605
    + logdir=/tmp/
    + nginx_pid=/usr/local/nginx/logs/nginx.pid
    + cd /tmp/
    ++ ls test.com.log
    + for log in '`ls *.log`'
    + mv test.com.log test.com.log-20180605
    ++ cat /usr/local/nginx/logs/nginx.pid

    + /bin/kill -HUP 32973

    # find /tmp/ -name *.log-* -type f -mtime +30 |xargs rm //删除30天之前的日志

     任务计划 crontab -e

     0 0 * * * /bin/bash /usr/local/sbin/nginx_logrotate.sh

    

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值