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

 

 

转载于:https://www.cnblogs.com/davery/p/8974809.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值