20180608

6月8日任务
12.10 Nginx访问日志
12.11 Nginx日志切割
12.12 静态文件不记录日志和过期时间

1. Nginx访问日志

编辑配置文件
vim /usr/local/nginx/conf/nginx.conf
搜索log_format

    log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
    ' $host "$request_uri" $status'
    ' "$http_referer" "$http_user_agent"';

除了在主配置文件nginx.conf里定义日志格式外,还需要在虚拟主机配置文件中增加
access_log /tmp/1.log combined_realip;
这里的combined_realip就是在nginx.conf中定义的日志格式名字

测试与重启
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload

查看生成的日志
curl -x127.0.0.1:80 test.com -I
cat /tmp/1.log

2. Nginx日志切割

自定义shell脚本
vim /usr/local/sbin/nginx_log_rotate.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_log_rotate.sh
-x: 查看执行过程

任务计划
0 0 * * * /bin/bash /usr/local/sbin/nginx_log_rotate.sh

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

将配置文件中相关选项设为off即可

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

未经允许不得转载:外贸SOHO笔记 » 20180608

赞 (0) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下作者~

支付宝扫一扫打赏

微信扫一扫打赏