当前位置: > Linux服务器 > nginx >

nginx日志配置、nginx日志分割

时间:2014-09-29 12:46来源:linux.it.net.cn 作者:it

在nginx中,日志的配置很简单,有各种好用的选项,拿来使用即可。

一,nginx日志管理 
1,log_format指令用来设置日志的记录格式,语法如下:
log_format name format (format ....)
  具体日志格式如下:
 

复制代码代码示例:
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
 '$status $body_bytes_sent "$http_referer" '
  '"$http_user_agent" "$http_x_forwarded_for"';

  $http_x_forwarded_for 和 $remote_user用于记录ip地址
  $remote_user 用来记录远程客户端用户名称
  $time_local  用来记录访问时间及地区
  $request 用于记录请求的URL与HTTP协议
  $status  用于记录请求的状态,例如状态为200,页面找不到时为404
  $body_bytes_sent 用于记录发送给客户端的文件主体内容大小
  $http_referer用于记录是从哪个页面链接访问过来的
  $http_user_agent 用于记录客户端浏览器的相关信息

  
2,开启日志打开缓存
为了提高包含变量的日志文件存放路径的性能,可以使用:
open_log_file_cache指令来设置,格式如下:
open_log_file_cache max=N [inactive=time][min_use=N][valid=time] |off 该指令默认是禁止的,等同于: open_log_file_cache off;
max:设置缓存中的最大文件描述数量
inactive:  设置一个时间,如果在设置的时间内没有使用此文件描述,则自动删除此描述
min_uses:   在参数inactive指定的时间范围内,如果日志文件超过使用次数,则该日志文件的描述计入缓存,默认为10秒钟
valid   :设置多长时间检查一次,看日志文件路径与文件名是否仍然存在,默认60秒。

例子:open_log_file_cache max=1000 inactive=20s min_uses=2 valid=1m   

二,Nginx 日志分割
 

复制代码代码示例:
#vim logs.sh
#!/bin/bash
#Nginx日志存放位置
logs_path="/usr/local/nginx/logs"
#将日志改名
mkdir -p $(logs_path)$(date -d "yesterday" +"%Y")/$(date -d "yesterday" + "%m")/
 mv $(logs_path)access.log $(logs_path)$(date -d "yesterday" +"%Y" )/$(date -d "yesterday" + "%m" )/access_$(date -d "yesterday" + "%Y%m%d").log
#重启Nginx服务
 service nginx reload
#创建计划任务
#crontab -l
01 01 * * * /bin/bash/logs.sh
 
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容