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,创建图片
最新文章
- Oracle碎碎念~1
- dubbo初识(一)Dubbo架构设计详解
- 通过jQuery的比较来认识AngularJS
- iOS开发推送--客户端 服务端
- 晶振波形、MIPI波形
- 深度模拟java动态代理实现机制系类之二
- CPU与外设传送数据方式
- 简单Mysql思维导图
- Ubuntu中文输入法
- uploadify的使用
- JqGrid在行中自定义自己的东西
- AVL树(平衡二叉查找树)
- Java Web使用Html5 FormData实现多文件上传
- Python之父:为什么操作符很有用?
- 助教总结 -【福大软工实践-2017-2018-K班】
- HDU 6186 CS Course(前缀+后缀)
- iOS开发笔记(Swift)-通用App安装引导页的实现
- Python爬虫之网页图片抓取
- Backing Up and Restoring HBase Data
- L'Hospital法则及其应用