Nginx日志管理介绍

 更新时间:2018年10月11日 10:34:07   作者:crazyYong  
今天小编就为大家分享一篇关于Nginx日志管理的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

Nginx日志描述

通过访问日志,你可以得到用户地域来源、跳转来源、使用终端、某个URL访问量等相关信息;通过错误日志,你可以得到系统某个服务或server的性能瓶颈等。因此,将日志好好利用,你可以得到很多有价值的信息。

参数明细表:

$remote_addr 客户端的ip地址(代理服务器,显示代理服务ip)
$remote_user 用于记录远程客户端的用户名称(一般为“-”)
$time_local 用于记录访问时间和时区
$request 用于记录请求的url以及请求方法
$status 响应状态码,例如:200成功、404页面找不到等。
$body_bytes_sent 给客户端发送的文件主体内容字节数
$http_user_agent 用户所使用的代理(一般为浏览器)
$http_x_forwarded_for 可以记录客户端IP,通过代理服务器来记录客户端的ip地址
$http_referer 可以记录用户是从哪个链接访问过来的

Nginx日志分隔

nginx的日志文件没有rotate功能。编写每天生成一个日志,我们可以写一个nginx日志切割脚本来自动切割日志文件。

第一步就是重命名日志文件,不用担心重命名后nginx找不到日志文件而丢失日志。在你未重新打开原名字的日志文件前,nginx还是会向你重命名的文件写日志,Linux是靠文件描述符而不是文件名定位文件。

第二步向nginx主进程发送USR1信号。nginx主进程接到信号后会从配置文件中读取日志文件名称,重新打开日志文件(以配置文件中的日志名称命名),并以工作进程的用户作为日志文件的所有者。重新打开日志文件后,nginx主进程会关闭重名的日志文件并通知工作进程使用新打开的日志文件。工作进程立刻打开新的日志文件并关闭重名名的日志文件。然后你就可以处理旧的日志文件了。[或者重启nginx服务]。

Nginx日志格式

打开nginx.conf配置文件:vim /usr/local/nginx/conf/nginx.conf
查看Nginx的nginx.conf文件,可以看到这样一条信息

#access_log  logs/access.log  main;

这说明该server访问日志的文件是  logs/host.access.log,使用的格式”main”格式。
日志生成的到Nginx根目录logs/access.log文件,默认使用“main”日志格式,也可以自定义格式。

main格式

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
#   '$status $body_bytes_sent "$http_referer" '
#   '"$http_user_agent" "$http_x_forwarded_for"';
#参数解释
$remote_addr 客户端IP地址;
$remote_user 客户端用户名;
$time_local 访问的时间和时区;
$request 访问请求的类型,POST或者GET;
$status 记录请求状态,404、304、200等等;
$body_bytes_sent 客户端给服务器发送的文件主体内容的大小;
$http_referer 访问来源——从哪个链接过来的;
$http_user_agent 用户代理信息,一般是浏览器的标记,有时候也是爬虫标记。
$http_x_forwarded_for 直接访问该服务器的IP地址,可能是客户端IP也可能是代理服务器IP
#应用main格式的日志实例
47.97.66.214 - - [05/May/2018:02:18:26 +0800] "GET /solr/ HTTP/1.1" 404 571 "http://44.186.245.237/solr/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, li Gecko) Chrome/59.0.3071.115 Safari/537.36"
47.97.66.214 - - [05/May/2018:02:18:26 +0800] "GET /wcm/ HTTP/1.1" 404 571 "http://44.186.245.237/wcm/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, li Gecko) Chrome/59.0.3071.115 Safari/537.36"
80.82.78.50 - - [05/May/2018:03:53:56 +0800] "GET http://www.baidu.com/ HTTP/1.1" 404 169 "-" "Mozilla"
112.193.171.197 - - [05/May/2018:06:52:06 +0800] "GET http://www.rfa.org/ HTTP/1.1" 200 462 "-" "python-requests/2.6.0 CPython/2.7.5 Linux/3.10.0-693.11.1.el7.x86_64"

除了main格式,你可以自定义其他格式,只需要把上述参数重新组合即可。

nginx的默认log存放在logs/access.log里,但也允许针对不同的server做不同的log,只需要在对应server下加入如下语句

access_log logs/access_8080.log mylog;
#声明一个log #log存放目录和名称 #log格式(可自定义)

修改nginx.conf之后需要重启Nginx才能使配置生效

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • nginx centos 服务开机启动设置实例详解

    nginx centos 服务开机启动设置实例详解

    这篇文章主要介绍了nginx centos 服务开机启动设置实例详解的相关资料,这里对服务开机启动做了详细的步骤介绍,需要的朋友可以参考下
    2016-11-11
  • 使用nginx模拟进行蓝绿部署的方式

    使用nginx模拟进行蓝绿部署的方式

    今天小编就为大家分享一篇关于使用nginx模拟进行蓝绿部署的方式,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Nginx access.log日志详解及统计分析小结

    Nginx access.log日志详解及统计分析小结

    nginx有一个非常灵活的日志记录模式,本文主要介绍了Nginx access.log日志详解及统计分析小结,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • 如何在nginx中配置缓存静态文件

    如何在nginx中配置缓存静态文件

    本篇文章主要介绍了如何在 nginx 中缓存静态文件配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Nginx反向代理的主被动健康检查方式

    Nginx反向代理的主被动健康检查方式

    这篇文章主要介绍了Nginx反向代理的主被动健康检查方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 查看nginx日志的实现

    查看nginx日志的实现

    在 Nginx 中,查看日志是诊断问题和监控 Nginx 服务状态的重要手段,本文主要介绍了查看nginx日志的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • nginx常见问题整理和解决办法

    nginx常见问题整理和解决办法

    给大家详细整理了nginx常见的问题以及对应问题的处理办法,有需要的朋友参考一下吧。
    2017-12-12
  • 使用nginx打包部署前端vue项目完整过程(保姆级教程)

    使用nginx打包部署前端vue项目完整过程(保姆级教程)

    这篇文章主要给大家介绍了关于使用nginx打包部署前端vue项目的相关资料,包括打包命名、执行打包命令、检查打包成功、下载和解压Nginx、部署到Nginx、启动Nginx并访问项目、以及Nginx的优势,需要的朋友可以参考下
    2024-11-11
  • Nginx配置中if判断的使用

    Nginx配置中if判断的使用

    在Nginx配置中,有时rewrite规则无法满足复杂逻辑判断需求,这时需要使用if语法,if可以根据文件是否存在、路径特定条件等进行判断,本文就来介绍一下if判断的使用
    2024-10-10
  • OpenResty中实现按QPS、时间范围、来源IP进行限流的方法

    OpenResty中实现按QPS、时间范围、来源IP进行限流的方法

    OpenResty是一个基于Nginx与Lua的高性能Web平台,它通过LuaJIT在Nginx中运行高效的Lua脚本和模块,可以用来处理复杂的网络请求,并且支持各种流量控制和限制的功能,这篇文章主要介绍了OpenResty中实现按QPS、时间范围、来源IP进行限流,需要的朋友可以参考下
    2024-02-02

最新评论