1、nginx访问日志
编辑主配置文件vim /usr/local/nginx/conf/nginx.conf搜索log_format,可以查看日志格式为combined_reailp,这个名字可以进行自定义
以下为日志格式对应的记录的内容
除在主配置文件中定义日志外,还需要在虚拟主机配置文件中定义日志,在虚拟主机配置文件中,增加如下配置:
access_log /tmp/test.com.log combined_reailp;
然后执行/usr/local/nginx/sbin/nginx -t进行检查配置文件是否正确
执行/usr/local/nginx/sbin/nginx -s reload重新加载配置文件
使用crul访问站点之后,可以查看日志内容
2、nginx日志切割
自定义shell 脚本
编辑shell脚本vim /usr/local/sbin/nginx_log_rotate.sh,写入如下内容
#! /bin/bash
## 假设nginx的日志存放路径为/tmp/
d=`date -d "-1 day" +%Y%m%d`
#生产日期为昨天的日志文件,格式为年月日
logdir="/tmp/"
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执行脚本
定期执行如下命令,删除30天以前的日志文件
创建任务计划crontab -e,添加如下内容,每天零点执行该脚本:
0 0 * * * /bin/bash /usr/local/sbin/nginx_log_rotate.sh
3、静态文件不记录日志和过期时间
在虚拟主机配置文件中,增加如下内容
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 7d;
#配置过期时间
access_log off;
#关闭日志记录
}
location ~ .*.(js|css)$
{
expires 12h;
access_log off;
}
检查配置文件并重新加载
此时创建1.gif和2.js,并写入内容,使用curl访问这两个文件,查看日志是否记录
使用-I选项进行访问时,可以查看过期时间