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

Nginx访问日志

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

075912_Jv0A_3708406.png

  • 打开主配置文件除了在主配置文件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/1.log

切换到cd /usr/local/nginx/conf/vhost/目录下

打开主配置文件,搜索/log_format

074401_PGG2_3708406.png

075549_1Spw_3708406.png

combined_realip 日志格式的名字,后面要调用。

定义test.com.conf日志格式,增加一行内容如下,保存退出

080433_Q3Vw_3708406.png

080544_7hfl_3708406.png

检查配置文件是否有语法错误,并重新加载

080620_gGET_3708406.png

访问测试

080807_Uj9k_3708406.png

查看日志

080839_1aHA_3708406.png

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`

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

首先创建一个shell脚本,以后所有的shell脚本都放入到/usr/local/sbin/目录下

081220_rxQX_3708406.png

081826_ReyT_3708406.png

d=`date -d "-1 day" +%Y%m%d`,定义切割时间(是前一天的)

logdir="/tmp/" ,指定要切割的日志路径

nginx_pid="/usr/local/nginx/logs/nginx.pid",调用pid,目的是执行命令:/bin/kill -HUP `cat $nginx_pid`

for log in `ls *.log` ;do mv $log $log-$d; done  进行循环

/bin/kill -HUP `cat $nginx_pid`,生成新的日志文件

执行shell脚本,-x选项目的是显示脚本执行过程

082939_1bpl_3708406.png

查看日志切割文件

083142_udwg_3708406.png

清理30天以前的日志文件

083324_1CAF_3708406.png

添加一个任务计划(测试不保存)

083522_hieS_3708406.png

083616_eRtE_3708406.png

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

打开配置文件,添加内容如下,保存退出

083900_2Z8s_3708406.png

084056_hMQo_3708406.png

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ ,匹配文件类型

expires 7d,过期时间为7天

检查配置文件是否有语法错误,并重新加载

084537_z9Yn_3708406.png

测试,访问以gif和js结尾的文件不记录日志

084936_jtHh_3708406.png

085010_P0Nu_3708406.png

085104_vVdK_3708406.png

测试过期时间(如果注释掉expires,则不会出现)

085159_sdli_3708406.png

 

转载于:https://my.oschina.net/u/3708406/blog/1602493

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值