>데이터 베이스 >MySQL 튜토리얼 >nginx日志配置及进行日志分割

nginx日志配置及进行日志分割

WBOY
WBOY원래의
2016-06-07 15:30:461684검색

由于nginx不能 进行 每天轮换来生成新的 日志 ,因此需要编写脚本来生成每天的 日志 文件。 其脚本如下: #!/bin/bash logs_path=/nginx/logs/ mv ${logs_path}access.log ${logs_path}access_$(date -d yesterday %Y%m%d).log kill -USR1 `cat /nginx/logs/

              由于nginx不能进行每天轮换来生成新的日志,因此需要编写脚本来生成每天的日志文件。

           其脚本如下:

#!/bin/bash

logs_path="/nginx/logs/"
mv  ${logs_path}access.log   ${logs_path}access_$(date -d "yesterday" +"%Y%m%d").log
kill -USR1 `cat /nginx/logs/nginx.pid`

         然后将其加入到crontab中

                1 0 * * * sh /usr/local/cut_nginx_log.sh
这样就每天的0点1分把nginx日志重命名为日期格式,并重新生成今天的新日志文件。

         其日志格式配置如下:

           log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $request_length $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

           说明如下:

      $remote_addr   与$http_x_forwarded_for 用以记录客户端的ip地址;
   $remote_user   :用来记录客户端用户名称;
   $time_local  : 用来记录访问时间与时区;  
   $request  :  用来记录请求的url与http协议;
  $status     :  用来记录请求状态;成功是200,

    $request_length :客户端发送的大小
  $body_bytes_sent  :记录发送给客户端文件主体内容大小;
  $http_referer  :用来记录从那个页面链接访问过来的;
  $http_user_agent  :记录客户毒啊浏览器的相关信息;

 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.