Home >Database >Mysql Tutorial >nginx日志配置及进行日志分割

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

WBOY
WBOYOriginal
2016-06-07 15:30:461682browse

由于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  :记录客户毒啊浏览器的相关信息;

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn