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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏木子墨的前端日常

linux服务器nginx的卸载和安装

刚接触的linux服务器上,nginx配置乱的有点令人发指,就把老的卸载了重新装一下。

1.1K30
来自专栏专注于主流技术和业务

Nginx配置正向代理和反向代理,实现HTTPS通信的案例

客户端直接通过HTTP访问内部服务是不安全的,如果在不改造客户端和内部服务的情况下实现HTTPS的安全信息传输?这里使用了nginx的正向代理和反向代理,如上图...

1.8K20
来自专栏一英里广度一英寸深度的学习

java 调优概要

分为两类,一种是boolean类型,设置生效不生效,另一类是设置值。-XX:<name>=<value>

14960
来自专栏后台及大数据开发

windows 环境下nginx + tomcat群 + redis 实现session共享

nginx作为负载均衡根据定义将不同的用户请求分发到不同的服务器,同时也解决了因单点部署服务器故障导致的整个应用不能访问的问题

12630
来自专栏nummy

vultr搭建hexo博客

需要创建一个普通用户用于运行博客,下面创建一个vultr用户,并将其添加到用户组wheel跟nginx。

45220
来自专栏前端知识分享

Vue项目部署问题及解决方案

Vue-Router 有两种模式,默认是 hash 模式,另外一种是 history 模式。

48930
来自专栏杨龙飞前端

本地搭建https服务

作者:狼_来_了 链接:https://www.jianshu.com/p/529cfb1ef84a 來源:简书 简书著作权归作者所有,任何形式的转载都...

49030
来自专栏前端真相

nginx配置

26650
来自专栏前端真相

Nginx常见错误

原因:nginx未启动就执行nginx -s stop命令。 解决方法:可以不解决,不影响nginx的正常启动,或者修改脚本。

27920
来自专栏架构技术

Docker容器服务发现方案

在服务在容器中部署时,外部调用服务需要知道服务接口ip及端口号,这样导致部署时需要配置,从而增加部署的困难。本文档主要介绍如何使用ningx反向代理和consu...

19110

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励