许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Nginx日志配置与管理(Nginx之Nginx日志)

Nginx日志配置与管理(Nginx之Nginx日志)

阅读数 6
点赞 0
article_banner

1.错误日志

错误日志就是记录当前网站访问失败的记录。

  • Nginx配置错误日志:

语法:erroer_log file(存放错误日志路劲)    file[level](日志级别);

默认格式:error_log logs/error.log erroer;

支持位置模块:main;http,stream, server  ,location

  • 日志级别:

常见的错误日志级别有[debug | info | notice | warn | error | crit | alert | emerg],级别越高记录的信息越少。生产场景一般是 warn | error | crit 这三个级别之一

示例:

$ vim /opp/app/nginx/conf/nginx.conf #开启错误日志error_log  /data/logs/nginx/nginx_error.log  warn;     #我直接设置在main中,所有的错误日志都记录进去,也可以设置在针对单个域名进行设置。 #关闭错误日志error_log /dev/null  $ nginx -s reload  

$ cat /data/logs/www/nginx_error.log  #错误日子信息,格式是固定的,看的很明白了,就不解释了

2019/09/29 02:59:33 [error] 8860#0: *3 open() "/home/ac/favicon.ico" failed (2: No such file or directory), client  : 10.28.88.106, server: 10.28.88.199, request: "GET /favicon.ico HTTP/1.1", host: "10.28.88.199"


2.访问日志

访问日志就是记录用户访问信息,通过访问日志可以分析用户数据,非常有用的。

访问日志分为2部分,一部分是log_format 一部分是access_log

2.1 log_format

log_format主要是设置访问日志格式,让用户访问的信息以什么样方式来展现给你,可以自定义,也有默认的一个log_format访问结构。

格式:log_format name(定义当前格式名字,需要被后面的access调用的,当初不注意这个,恰了好大的亏) 具体格式

2.2 access_log

格式: access_log path(log_format定义的name)  [format [buffer=size] gzip=[level] [flush=time] [if=condition]]

         access_log off;关闭访问日志

后面[ ]的内容:buffer 是设置缓冲大小(32k 64k 都差不多)  gzip 压缩登记(1-9) flush 设置缓冲数据落地到磁盘的时间看情况设置,if是其他设置([ ] 这里面的内容可选设置主要看需求,一般情况是用不到)

示例:

log_format jflog '$remote_addr | $remote_user | $time_local | $request | $status | '            '$bytes_sent | $body_bytes_sent | $host | $http_referer | $http_user_agent | '            '$upstream_addr | $gzip_ratio | $http_x_forwarded_for | $request_time | $upstream_response_time';         #参数介绍        $remote_addr         #获取客户端地址     注:当Nginx作为web后端,前面有代理,负载均衡等服务的时候,只能获取前端地址,想要获取真正客户端地址得靠$http_x_forward_for参数,但是需要前端开启x_forward_for功能,        $remote_user         #记录远程客户端用户        $time_local          #记录访问时间跟时区信息        $request             #记录请求信息(url,http协议) "GET / HTTP/1.1"        $status              #记录客户端获取请求返回的请求码,200,304,404等等        $bytes_sent          #记录Nginx返回给客户端的字节数(整个响应内容大小)        $body_bytes_sent     #记录客户端请求的主体大小(也就是实际内容的大小,在缓冲缓存配置那里有篇博客详细的介绍了请求及响应构成)        $http_referer         #url跳转来源,可以轻松查询倒链的问题。        $http_user_agent      #用户终端浏览器等信息        $upstream_addr        #后端服务器地址        $gzip_ratio           #获取gzip压缩比率        $http_x_forwarded_for    #获取客户端真实ip(需要前端开启x_forward_for功能)        $host        $request_time          #记录Nginx处理请求的时间        $upstream_response_time #记录php-cgi的响应时间        $scheme #请求使用的Web协议,“http” 或 “https”        $http_cdn_src_ip #获取客户的真实ip(前提是当前机器是走cdn的) #具体设置access_log方法# cat /opt/app/nginx/conf/vhost/7240.confserver {    listen 80;    server_name 192.168.1.104;      root /opt/src;     access_log /data/logs/www/dx4.7240.com.log jflog(你在log_format自定义的日志名字); }

官方示例:log_format compression '$remote_addr - $remote_user [$time_local] '                       '"$request" $status $bytes_sent '                       '"$http_referer" "$http_user_agent" "$gzip_ratio"'; access_log /spool/logs/nginx-access.log compression buffer=32k;

官方文档:http://nginx.org/en/docs/http/ngx_http_log_module.html

#日志展示结果

$ cat /data/logs/www/dx4.7240.com.log   #下面就是以log_format展示的日志文件信息

192.168.1.100 | - | 01/Oct/2019:08:43:42 -0400 | GET /favicon.ico HTTP/1.1 | 404   | 310 | 162 | 192.168.1.104 | - | Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko | - | - | - | 0.000 | -


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空