Nginx的变量和Nginx的日志管理

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

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

时间: 2024-10-07 09:24:25

Nginx的变量和Nginx的日志管理的相关文章

Haproxy+Nginx负载均衡群集及调度日志管理

关于负载均衡群集,在本文之前已经发表有关负载均衡群集的文章,如:Nginx+Tomcat负载均衡群集.LVS-NAT模式的负载均衡群集.LVS-DR+Keepalive高可用群集; 就性能而言,Nginx的upstream模块支持群集功能,但是对群集节点的健康检查功能不强. LVS的两种模式性能较好,由于搭建过程较为复杂,后期维护也较为繁琐. haproxy是一种轻量级调度服务软件,HAProxy实现了一种事件驱动, 单一进程模型,此模型支持非常大的并发连接数.且搭建配置较为简单. 常用负载均衡

【Nginx系列】Nginx虚拟主机的配置核日志管理

Nginx配置段 #user nobody; worker_processes 1;// 有1个工作的子进程,可以自行修改,但太大无益,因为要争夺CPU,一般设置为 CPU数*核数 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events {// 一般是配置nginx连接的特性 如1个word能同时允许多少连接 w

Nginx(三)-- 配置文件之日志管理

1.日志文件的默认存放位置 默认的日志文件存放位置在:nginx/logs/ 文件夹下,logs文件夹下有:access.log   error.log   nginx.pid 文件 2.nginx.conf 中的日志 配置 nginx.conf中是将日志文件的配置注释掉的,如下: #access_log  logs/host.access.log  main; 日志声明     路径及文件名     日志标识 $remote_addr 与$http_x_forwarded_for 用以记录客户

Nginx系列教程之四:Nginx常用变量汇总及测试

Nginx系列教程之:Nginx内置变量的收集及使用 前言:     各位小伙伴,前两天忙着测试openstack Icehouse,撰写openstack技术文档,导致nginx剩下的几篇博文没来得及整理,你是不是等着急啦?哈哈,抱歉,今天继续来聊一聊nginx常用的内置变量及其相关的使用. Nginx的变量在nginx的使用中还是占了一定的重要性,尤其是在日志和rewrite中,必须对各种变量的含义有所了解,才能组合出适合自己的日志格式和更高级的rewrite规则.其次了解nginx的变量含

nginx之旅(第二篇):nginx日志管理、nginx防盗链、nginx虚拟主机

一.nginx日志管理 Nginx访问日志主要有两个参数控制 1) log_format #用来定义记录日志的格式(可以定义多种日志格式,取不不同名字即可) log_format log_name string 2) access_log #用来指定日至文件的路路径及使用的何种日志格式记录日志 access_log logs/access.log main; log_format格式变量含义: 字段 含义 remote_addr 客户端地址 remote_user 客户端用户名 time_loc

Nginx日志管理和切割

一.日志分类 Nginx日志主要分为两种,访问日志和错误日志.两种日志可以在http和server模块中配置,nginx有一个非常灵活的日志记录模式.每个级别的配置可以有各自独立的访问日志.日志格式通过log_format命令来定义 1.访问日志 访问日志主要记录客户端访问Nginx的每一个请求 log_format用来设置日志格式,只能在http模块下设置 log_format name   name(格式名称)   type(格式样式) 下面是默认的nginx日志格式: log_format

Nginx教程(三) Nginx日志管理

1 日志管理 1.1 Nginx日志描述 通过访问日志,你可以得到用户地域来源.跳转来源.使用终端.某个URL访问量等相关信息:通过错误日志,你可以得到系统某个服务或server的性能瓶颈等.因此,将日志好好利用,你可以得到很多有价值的信息. 1.2 Nginx日志格式 打开nginx.conf配置文件:vim /usr/local/nginx/conf/nginx.conf 日志部分内容: #access_log  logs/access.log  main; 日志生成的到Nginx根目录lo

nginx 日志管理

日志管理 我们观察nginx的server段,可以看到如下类似信息 #access_log  logs/host.access.log  main; 这说明 该server, 它的访问日志的文件是  logs/host.access.log , 使用的格式"main"格式. 除了main格式,你可以自定义其他格式. main格式是什么? log_format  main  '$remote_addr - $remote_user [$time_local] "$request

04 nginx日志管理

一:nginx日志管理 我们观察nginx的server段,可以看到如下类似信息 #access_log logs/host.access.log main; 这说明 该server, 它的访问日志的文件是 logs/host.access.log , 使用的格式”main”格式. 除了main格式,你可以自定义其他格式. main格式是什么? log_format main '$remote_addr - $remote_user [$time_local] "$request" '