8.14 nginx访问日志、nginx日志切割、静态文件不记录日志和过期时间

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选项进行访问时,可以查看过期时间

猜你喜欢

转载自www.cnblogs.com/w494129131/p/9463651.html