- 总结
前言
遇到问题我们一般需要看日志,服务日志和系统日志,但是apache有个访问日志,这个日志是用来做啥的,我们今天一起来探讨下。
一. apache日志分类
apache的配置文件httpd.conf里定义了访问日志的路径,以及错误日志的路径。 如果是SSL服务的话也可能存在ssl_acess_log日志,当然还有ssl_error_log 和 ssl_request_log都是与SSL相关的。
[root@xinsz08 logs]# ls
access_log error_log httpd.pid ssl_request_log
二. apache的日志格式详解
1. 输出最近的一段访问日志
[root@xinsz08 logs]# tail access_log
203.208.60.97 - - [28/Jul/2020:16:23:04 +0800] “GET / HTTP/1.1” 200 8818
46.229.168.141 - - [28/Jul/2020:16:24:28 +0800] “GET /home.php?ac=favorite&formhash=5dc27e6e&handlekey=favoriteforum&id=51&mod=spacecp&type=forum HTTP/1.1” 200 1215
216.244.66.249 - - [28/Jul/2020:16:24:33 +0800] “GET /home.php?mod=space&uid=815&do=share&view=me&from=space&type=link HTTP/1.1” 200 12752
154.211.129.218 - - [28/Jul/2020:16:25:38 +0800] “POST /uc_server/index.php HTTP/1.1” 200 2
47.92.7.83 - - [28/Jul/2020:16:25:58 +0800] “GET / HTTP/1.1” 200 9228
46.229.168.154 - - [28/Jul/2020:16:26:17 +0800] “GET /home.php?ac=pm&daterange=2&handlekey=showmsg_5&mod=spacecp&op=showmsg&pid=2036&pmid=0&tid=1745&touid=5 HTTP/1.1” 200 4476
46.229.168.144 - - [28/Jul/2020:16:26:25 +0800] “GET /forum.php?goto=lastpost&mod=redirect&tid=145 HTTP/1.1” 302 20
46.229.168.143 - - [28/Jul/2020:16:26:30 +0800] “GET /forum.php?mod=viewthread&tid=145 HTTP/1.1” 200 9617
47.106.201.78 - - [28/Jul/2020:16:26:46 +0800] “GET / HTTP/1.1” 200 9229
47.103.47.81 - - [28/Jul/2020:16:26:59 +0800] “GET / HTTP/1.1” 200 9227
访问日志记录了所有对web服务器的访问活动:
47.103.47.81 - - [28/Jul/2020:16:26:59 +0800] “GET / HTTP/1.1” 200 9227
2. 日志的字段所代表的内容如下:
-
远程主机IP:表明访问网站的是谁 (47.103.47.81)
-
空白(E-mail):为了避免用户的邮箱被垃圾邮件骚扰,第二项就用“-”取代了
-
空白(登录名):用于记录浏览者进行身份验证时提供的名字。
下图是上节课我们做的基于域名认证的截图,可以看到IP后面- - 的第二个-是gaosh:
-
时间:用方括号包围,而且采用“公用日志格式”或者“标准英文格式”。 时间信息最后的“+0800”表示服务器所处时区位于UTC之后的8小时。
-
方法+资源+协议:服务器收到的是一个什么样的请求。该项信息的典型格式是“METHOD RESOURCE PROTOCOL”,即“方法 资源 协议”。 METHOD: GET、POST、HEAD、…… RESOURCE: /、index.html、/default/index.php、……(请求的文件) PROTOCOL: HTTP+版本号
-
状态代码:请求是否成功,或者遇到了什么样的错误。大多数时候,这项值是200,它表示服务器已经成功地响应浏览器的请求,一切正常。
-
发送字节数:表示发送给客户端的总字节数。它告诉我们传输是否被打断(该数值是否和文件的大小相同)。把日志记录中的这些值加起来就可以得知服务器在一天、一周或者一月内发送了多少数据
3. apache访问日志配置文件参数详解
apache中的日志格式分为:普通型和复合型,默认是普通型
apache访问日志格式主要有两个参数:
- logFormat
CustomLog
两者的意思是:
LogFormat指令:定义格式并为格式指定一个名字,以后我们就可以直接引用这个名字。
CustomLog指令:设置日志文件,并指明日志文件所用的格式
详细的参数
| 参数 | 含义 |
| — | — |
| %h | 远程主机 |
| %l(小写的L) | 远端登录名 |
| %u | 远程用户名 |
| %t | 登录时间或者请求时间 |
| %r | 请求的第一行 |
| %>s | 状态 |
| %b | 传送字节数数 |
| %{Referer}i | 请求来源 |
| %{User-agent}i | 客户端浏览器提供的浏览器识别信息 |
apache文档中给出的日志格式串变量及其含义:
%a: 远程IP地址
%A: 本地IP地址
%B: 已发送的字节数,不包含HTTP头
%b: CLF格式的已发送字节数量,不包含HTTP头。例如当没有发送数据时,写入‘-’而不是0。
%{FOOBAR}e: 环境变量FOOBAR的内容
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)
3c1008edf79.png)
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)
![img](https://img-blog.csdnimg.cn/img_convert/b0141eca61762146269be901c3799d02.jpeg)