当前位置 主页 > 服务器问题 > nginx问题汇总 >

Nginx日志介绍

栏目:nginx问题汇总 时间:2018-12-13 11:21

  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才能使配置生效
缩小 缩小 缩小 缩小
IIS7整站下载工具 IIS7批量查询排名 IIS7远程桌面连接工具 iis7-iis网站批量管理 iis7批量替换工具 IIS7服务器专用下载工具 IIS7日志分析工具 IIS7批量PING,服务器批量添加网卡IP小工具 IIS7远程同步备份工具
IIS7网站监控 站群批量SEO查询 批量获取排名域名 批量关键词排名查询 模拟各种蜘蛛 批量友情链接监测 批量检测死链 搜索引擎大全 批量查询外链
批量查询网站标题 批量查询KeyWords 批量查询描述 批量查询网站IP 批量百度收录查询 批量查询百度日收录 批量查询百度周收录 批量查询百度月收录 批量查询360总收录 批量查询360日收录 批量查询网站年龄 批量查询360PC权重 批量查询爱站移动权重 批量查询站长移动权重 批量查询360移动权重 批量查询神马权重 批量查询谷歌PR 批量查询搜狗PR 批量查询百度反链 批量查询爱站首页反链 批量查询爱站内页反链 批量查询百度快照 批量查询搜狗快照 批量icp备案查询 批量网站ip地址查询 批量查询导出链接 批量查询百度V认证 批量查询百度安全 批量查询站长PC权重 批量查询爱站PC权重 批量查询搜狗总收录 站长资源大全 IIS7-cms大全 IIS7站群大全 IIS7虚拟空间大全 IIS7服务器大全 IIS7-VPS大全