Apache/Nginx/IIS 访问日志详解
Apache日志详解
1.Apache日志文件名称及所在路径
日志文件一般都是保存在在apache/logs目录下,实际情况可以根据Apache的配置文件去查找日志文件所在的路径。
例如phpstudy(windows)在 :phpstudy/Extensions/apache/logs;
wdcp(linux)在 :www/wdlinux/apache/logs 。
Apache日志文件一般分为访问日志access.log和错误日志error.log。如果使用了SSL服务的话,还可能存在:ssl_access.log/ssl_error.log/ssl_request.log。
2.Apache访问日志各个字段内容解析
访问日志access.log记录了所有对web服务器访问活动,下面是一个记录的示例
192.168.33.138 - - [14/Apr/2020:22:52:20 +0800] "GET /pikachu-master/assets/font-awesome/4.5.0/css/font-awesome.min.css HTTP/1.1" 200 27466
日志各字段代表内容:
1.远程主机IP(192.168.33.138):代表访问网站的IP地址。
2.空白(-)Email:为了避免用户的邮箱被垃圾邮件骚扰。
3.空白(-)登录名:用于记录浏览者进行身份验证时提供的名字。
4.请求时间([14/Apr/2020:22:52:20 +0800]):访问时间和日期,用方括号包裹,采用公用日志格式,最后+0800代表服务器所处时区位于URC之后的8个小时。
5.方法+资源+协议("GET /pikachu-master/assets/font-awesome/4.5.0/css/font-awesome.min.css HTTP/1.1"):典型格式为 method+resource(URI)+protocol,比如这里method是get请求;请求的文件用URI标识,这里请求的是一个.css文件;protocol为HTTP协议1.1版本
6.状态码(200):标识响应状态,一般分为4类。
2xx:成功
3xx:重定向
4xx:访问错误,一般为客户端问题
5xx:访问错误,一般为服务器问题
7.发送字节数(27466):表示发送给客户端的字节数。告诉我们传输是否被打断。
3.Apache错误日志各个字段内容解析
错误日志内容格式和访问日志不同,一般用于分析服务器的运行情况。
错误日志一般分为两类:文档错误和CGI错误
下面给一个error.log例子
[Fri Aug 18 22:36:26 2000] [error]
[client 192.168.1.6] File does not exist:
/usr/local/apache/bugletdocs/Img/south-korea.gif
1.错误记录开头是时间和日期
2.错误的级别和严重性
3.导致错误的IP地址
4.关于错误的详细信息
Nginx访问日志分析
1.Nginx默认日志存放的路径
例如phpstudy(windows)在 :phpstudy/Extensions/Nginx/logs;
wdcp(linux)在 :www/wdlinux/Nginx/logs 。
2.Nginx访问日志默认格式:
log_format main '$remote_addr - - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" ';
示例:
127.0.0.1 - - [17/Apr/2020:22:55:48 +0800] "GET /wordpress HTTP/1.1" 301 170 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0"
1.remote_addr(127.0.0.1):远程主机IP
2.空白(-)Email:为了避免用户的邮箱被垃圾邮件骚扰。
3.空白(-)登录名:用于记录浏览者进行身份验证时提供的名字。
4.remote_user[$time_local]([17/Apr/2020:22:55:48 +0800]):访问时间和日期,用方括号包裹,采用公用日志格式,最后+0800代表服务器所处时区位于URC之后的8个小时。
5."$request"("GET /wordpress HTTP/1.1"):请求方法,资源,协议。
6.body_bytes_sent(170):发送字节数
7.http_referer(-):referer
8.http_user_agent(Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0):也就是HTTP Header中对应的UA,包含浏览器信息,访问者的操作系统,版本等。
IIS访问日志分析
1.IIS访问所在路径:
在控制面板中打开IIS服务器,找到想要查看日志的网站,右键属性---->找到启用日志那里单击属性

之后找到对应的文件即可
日志文件中有4个前缀:
s- :服务器操作
c- :客户端操作
cs-:客户端到服务器的操作
sc-:服务器到客户端的操作
2.IIS访问日志示例:
2020-04-11 14:38:13 W3SVC219663584 192.168.33.138 GET /Default.asp - 8003 - 192.168.33.138 Mozilla/5.0+(Windows+NT+5.2;+rv:17.0)+Gecko/20100101+Firefox/17.0 404 2 0
1.date(2020-04-11):表示记录访问日期
2.time(14:38:13):表示访问时间
3.s-sitename(W3SVC219663584):客户端所访问的该站点的Internet服务和实例的号码。
4.s-ip(192.168.33.138):服务器IP
5.cs-method(GET):请求方法
6.cs-uri-stem(/Default.asp):访问的URI资源,也就是访问的哪个文件
7.cs-uri-query(-):访问地址的附带参数,如asp文件?后面的字符串id=12等等,如果没有参数则用-表示
8.s-port(8003):访问的服务器端口
9.cs-username(-):对于通过身份验证的用户,格式是“域\用户名”;对于匿名用户,是一个连字符 (-)
10. c-ip(192.168.33.138): 访问服务器的客户端 IP 地址。(已过滤掉中间各种IP,是真实的客户端IP)
11.cs(User-Agent):在客户端使用的浏览器等信息
12.sc-status(404):状态码
13.sc-substatus(2):跟数据缓存有关
14.cs–win32-statu(0):客户端传送到服务端的字节大小
Apache/Nginx/IIS 访问日志详解的更多相关文章
- IIS访问共享文件详解
前言 公司同事做了一个报表系统,需要做集群部署,本来是一件挺容易的事,但是部署过程中却遇到啦种种蛋疼问题. 问题1.我们的报表使用的是微软的水晶报表,需要上传报表的配置文件,然后水晶报表提供的控件来读 ...
- Nginx的访问日志配置信息详解
Nginx的访问日志可以让我们知晓用户的地址,网站的那些部分最受欢迎,以及用户浏览时间等.Nginx会把每个用户的访问日志记录到指定的日志文件中. Nginx主要有两个参数来控制 log_format ...
- nginx入门与实战 安装 启动 配置nginx Nginx状态信息(status)配置 正向代理 反向代理 nginx语法之location详解
nginx入门与实战 网站服务 想必我们大多数人都是通过访问网站而开始接触互联网的吧.我们平时访问的网站服务 就是 Web 网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务. Web ...
- Apache + Tomcat集群配置详解 (1)
一.软件准备 Apache 2.2 : http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl版本 Tomcat 6.0 : http://to ...
- 【第六课】Nginx常用配置下详解
目录 Nginx常用配置下详解 1.Nginx虚拟主机 2.部署wordpress开源博客 3.部署discuz开源论坛 4.域名重定向 5.Nginx用户认证 6.Nginx访问日志配置 7.Ngi ...
- Linux中Nginx安装与配置详解
转载自:http://www.linuxidc.com/Linux/2016-08/134110.htm Linux中Nginx安装与配置详解(CentOS-6.5:nginx-1.5.0). 1 N ...
- Nginx简介及配置文件详解
http://blog.csdn.net/hzsunshine/article/details/63687054 一 Nginx简介 Nginx是一款开源代码的高性能HTTP服务器和反向代理服务 ...
- Nginx 主配置文件参数详解
Nginx 主配置文件参数详解 Nginx 安装完毕后,会有响应的安装目录,安装目录里 nginx.conf 为 nginx 的主配置文件, ginx 主配置文件分为 4 部分,main(全局配置). ...
- [转帖]Nginx rewrite模块深入浅出详解
Nginx rewrite模块深入浅出详解 https://www.cnblogs.com/beyang/p/7832460.html rewrite模块(ngx_http_rewrite_modul ...
随机推荐
- 你会用哪些JavaScript循环遍历
总结JavaScript中的循环遍历定义一个数组和对象 const arr = ['a', 'b', 'c', 'd', 'e', 'f']; const obj = { a: 1, b: 2, c: ...
- php微信jsapi支付 支付宝支付 两码合一
产品开会提出了这样的需求:一个二维码可以微信支付也可以支付宝支付 经过自己的钻研以及询问技术高人(本人代码一般般)和网上搜索 最终实现其功能 我用微信jsapi 和 支付宝网页支付 其实并不怎么难: ...
- 使用xcode实现IM的那些坑
想用xcode基于XMPP实现即时通讯,mac必须安装openfire(xmpp服务器),mysql(本地数据库,用于配置openfire),JDK(打开openfire必须本地具备java环境),x ...
- Django 基础05篇 上下文管理和前端代码复用
一.上下文管理器 在views中重复使用的代码,可以通过上下文管理器(在setting.py文件中的TEMPLATES中配置)中实现,减少代码冗余 上下文管理器的处理流程如下: 1.先走完views里 ...
- AcWing 1086. 恨7不成妻(【代码简洁】标准记忆化搜索+超详解!!)
看到这题用循环写的dp代码瑟瑟发抖~ 数位dp一般记忆化搜索的写法思维难度较低,也比较常用,这题的简洁代码应该就可以显现出其优越性 (用时4ms,可能比用循环写的dp还要快) 那这里补充一下记忆化搜索 ...
- 关于java异常处理的思考
学习java的过程中,初学者更多的是为了实验而写代码,而不考虑实际情况中的人机交互过程中的一些问题. 在java项目中,更多的用户不会因为你给了某些限制提醒,他就一定会按照你所给的提示来输入或者操作, ...
- Java基础00-网络编程29
1. 网络编程入门 1.1 网络编程概述 1.2 网络编程三要素 1.3 IP地址 在命令提示符中使用 1.4 InetAddress的使用 代码示例: public class InetAddres ...
- [刘阳Java]_Spring IoC原理_第2讲
Spring IoC(DI)是Spring框架的核心,所有对象的生命周期都是由它们来管理.对于弄懂Spring IOC是相当关键,往往我们第一次接触Spring IOC大家都是一头雾水.当然我们这篇文 ...
- Vue.js源码解析-Vue初始化流程之动态创建DOM
目录 前言 一._update 如何判断是初始化还是更新操作? 二.patch 2.1 patch 定义 2.2 初始化的 patch 三.createElm 动态创建DOM 3.1 创建组件节点 3 ...
- MapReduce学习总结之Combiner、Partitioner、Jobhistory
一.Combiner 在MapReduce编程模型中,在Mapper和Reducer之间有一个非常重要的组件,主要用于解决MR性能瓶颈问题 combiner其实属于优化方案,由于带宽限制,应该尽量ma ...