码迷,mamicode.com
首页 > 其他好文 > 详细

Nginx的变量和Nginx的日志管理

时间:2018-09-29 14:30:18      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:config   serve   头部   logs   自己   user   request   time   连接数   

Nginx的变量:
  $request_length       请求长度(包括请求行,标题和请求正文)
  $request_method       请求的动作(get或者post)
  $request_time         请求时间(以毫秒为单位的请求处理时间(1.3.9,1.2.6); 从客户端读取第一个字节后经过的时间)
  $request_url          完整的原始请求URL(带参数)  
  $scheme               返回用的协议,是http还是https
  $remote_addr          客户端的地址
  $remote_port          client port
  $remote_user          基本认证的身份
  $server_addr          服务端的地址
  $server_port          server port
  $server_protocol      使用的http的版本“HTTP/1.0”, “HTTP/1.1”, or “HTTP/2.0”
  $status               回应状态
  $body_bytes_sent      给你主体发送的字节
  $http_refrere         请求的上个页面来至于哪里
  $http_x_forwarded_for 代理服务器的IP地址
  $http_user_agent      浏览器的型号
  $uri                  除去域名和协议的URL

  ================upstream 模块所支持的变量==============
  $upstream_addr            处理请求的上游服务器的地址
  $upstream_cache_status    表示是否命中缓存
  $upstream_status          上游服务器的响应状态码
  $upstream_response_time   上游服务器的响应时间,精度到毫秒
  $upstream_http_$HEADER    HTTP的头部,如upstream_http_host

Nginx的日志管理

在配置文件里面找到根nginx日志相关的配置文件
    #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/access.log  main;
作用域: http 服务器
指令log_format描述了日志条目的格式。除了格式中的一般变量之外,还可以使用仅在记录到日志中时存在的变量:
·$ body_bytes_sent,发送到客户端的字节数减去响应头,变量与模块Apache的mod_log_config的参数%B兼容
(在版本0.3.10之前称为$ apache_bytes_sent)
·$ bytes_sent,传输到客户端的字节数
·$ connection,连接数
·$ msec,日志条目时精度为微秒的时间
·$ pipe,如果请求是流水线操作则为“p”
·$ request_length,请求正文的长度
·$ request_time,在几秒钟内处理请求的时间
·$ status,回答状态
·$ time_local,将本地时间转换为通用日志格式。
传输到客户端的标头从前缀“sent_http_”开始,例如$ sent_http_content_range。

Nginx的日志轮询。(在这个Nginx里面 不需要,默认有日志轮询)

要求每个server标签都有自己的日志文件,日志文件只保留7天,每个文件只保留一天的日志信息

#!/bin/bash
cd /usr/local/nginx/logs
DATE=`date +%Y%m%d`
for i in `ls *.log`
do
    echo $i |sed -r "s#(.*).log#mv $i \1-$DATE.log#g" | bash
    touch $i    
done
kill -USR1 `cat nginx.pid` && action "logs 轮询。sucess" /bin/true
echo "删除了这些日志"
find ./ -name "*.log" -type f -mtime +7 
find ./ -name "*.log" -type f -mtime +7 |xargs rm -f 

写到定时任务中
59 23 * * * /opt/scripts/log_lun.sh >>/var/log/Nginx_lunxu.logs

Nginx的变量和Nginx的日志管理

标签:config   serve   头部   logs   自己   user   request   time   连接数   

原文地址:http://blog.51cto.com/13447608/2287395

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!