nginx学习笔记5 nginx日志文件的配置

http://www.cnblogs.com/losbyday/p/5839738.html


一.日志文件的记录格式

在http模块中编写格式
 http{
  #配置格式
  log_format  main   '$remote_addr - $remote_user [$time_local] "$request" '
                           '$status $body_bytes_sent "$http_referer" '
                           '"$http_user_agent" "$http_x_forwarded_for"';
  #引用格式
  access_log logs/server1.access.log main;
  #默认格式
  access_log logs/server1.access.log combined;
  #不记录日志文件的配置
  access_log off;
 }
#变量的含义
$remote_addr, $http_x_forwarded_for(反向) 记录客户端IP地址
$remote_user 记录客户端用户名称
$request 记录请求的URL和HTTP协议
$status 记录请求状态
$body_bytes_sent 发送给客户端的字节数,不包括响应头的大小; 该变量与Apache模块mod_log_config里的“%B”参数兼容。
$bytes_sent 发送给客户端的总字节数。
$connection 连接的序列号。
$connection_requests 当前通过一个连接获得的请求数量。
$msec 日志写入时间。单位为秒,精度是毫秒。
$pipe 如果请求是通过HTTP流水线(pipelined)发送,pipe值为“p”,否则为“.”。
$http_referer 记录从哪个页面链接访问过来的
$http_user_agent 记录客户端浏览器相关信息
$request_length 请求的长度(包括请求行,请求头和请求正文)。
$request_time 请求处理时间,单位为秒,精度毫秒; 从读入客户端的第一个字节开始,直到把最后一个字符发送给客户端后进行日志写入为止。
$time_iso8601 ISO8601标准格式下的本地时间。
$time_local 通用日志格式下的本地时间。


二.日志文件的切割
1.手动切割

来到logs目录下
mv  access.logs  20170320.logs
将旧文件更名为当前日期

新开一个日志文件的存储
kill  -USR1  2514
2514为nginx的maser主进程

2.自动切割

创建批处理文件
touch cutlos.sh

内容:
#获取当前日期
D=$(date +%y%m%d)
#根据当前日期重命名
mv /etc/nginx/logs/access.log ${D}.log
#新开一个日志问价的存储,获取nginx的主进程号
kill -USR1 $(cat /usr/local/nginx/nginx.pid)

定时执行此批处理文件
crontab  -e
编辑处理信息
每天23点59分进行自动执行cutlogs.sh文件
23 59 *** /etc/nginx/logs/cutlog.sh
保存退出
:wq 
Do you want to retry the same edit?
输入y

完成
 
 
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值