阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Apache服务器访问日志access.log设置

482次阅读
没有评论

共计 3445 个字符,预计需要花费 9 分钟才能阅读完成。

一、访问日志信息

当浏览器请求服务器时,如果在服务器上设置了访问日志,就会记录下用户的访问记录。

例如我访问本地 apache 所产生的一条默认的日志:

127.0.0.1 – – [03/Feb/2015:23:14:24 +0800] “GET / HTTP/1.1” 200 2

分为 7 个部分

(1)第一项信息是远程主机的地址,即它表明访问网站的究竟是谁。(可以要求 apache 查出所有的主机名字,并在日志文件中用主机名字来替代IP地址,但这种做法会极大的影响服务器记录日志的速度,从而降低整个网站的效率,不值得推荐)。然而,如果确实有必要让Apac

e找出远程主机的名字,可以使用如下指令:

HostNameLookups on

如果 HostNameLookups 设置成 double 而不是 on,日志记录程序将对它找到的主机名字进行反向查找,验证该主机名字确实指向了原来出现的 IP 地址。

(2)上例日志记录的第二项是空白,用一个“-”占位符替代。实际上绝大多数时候这一项都是如此。这个位置用于记录浏览者的标识,这不只是浏览者的登录名字,而是浏览者的 email 地址或者其他唯一标识符。这个信息由 identd 返回,或者直接由浏览器返回。(为了避免用户的邮箱被垃圾邮件骚扰,第二项就用“-”取代了)。

(3)日记记录的第三项也是空白。这个位置用于记录浏览者进行身份验证时提供的名字。当然,如果网站的某些内容要求用户进行身份验证,那么这项信息室不会空白的。但是,对于大多数网站来说,日志文件的大多数记录中这一项仍旧是空白的。

(4)日志记录的第四项是请求的时间。这个信息用方括号包围,而且采用“公用日志格式”或者“标准英文格式”。因此,时间信息最后的“-0400”表示服务器所处时区位于 UTC 之前的 4 小时。

(5)日志记录的第五项信息或许是整个日志记录中最有用的信息,它告诉我们服务器受到的是一个什么样的请求。该项信息的典型格式是“METHOD RESOURCE PROTOCOL”即“方法 资源 协议”(我们通常进行日志监控的时候,主要也是看这项内容)。例子中 METHOD 是 GET,还有 POST、HEAD 等其他类型,主要是这三种。

RESOURCE 是指浏览者向服务器请求的文档或者URL。在这个例子中,浏览者请求的是“/”,即网站的根或者主页。大多数情况下,“/”指向 DocumentRoot 目录的 index.html 文档,但根据服务器配置的不同也可能指向其他文件。

PROTOCOL 通常是 HTTP,然后再加上版本号。

(6)日志的第六项信息室状态代码。它告诉我们请求是否成功,或者遇到了什么样的错误。大多数时候这项是 200,它表示服务器已经成功的响应浏览器的请求,一切正常。(以 2 开头的状态码表示成功,以 3 开头的状态码表示由于各种不同的原因用户请求被重定向到了其他位置,以 4 开头的状态代码表示客户端存在某种错误,以 5 开头的状态代码表示服务器遇到了某个错误)。

(7)日志记录的第七项表示发送客户端的总字节数。它告诉我们传输是否被打断(即该数值是否和文件的大小相同)

二、配置访问日志

在 apache 的配置文件 httpd.conf 中,有一行是这么配置的:

CustomLog “logs/access.log” common

指定了日志的目录路径./logs/,指定了日志的格式,默认 common。

common 格式是通过:LogFormat “%h %l %u %t \”%r\” %>s %b” common 定义的。

双引号里面的格式字符串代表特定的信息。

apache 格式字符串及其含义:

%%    百分号 (Apache2.0.44 或更高的版本)
%a    远端 IP 地址
%A    本机 IP 地址
%B    除 HTTP 头以外传送的字节数
%b    以 CLF 格式显示的除 HTTP 头以外传送的字节数,也就是当没有字节传送时显示 ’-‘ 而不是 0。
%{Foobar}C    在请求中传送给服务端的 cookieFoobar 的内容。
%D    服务器处理本请求所用时间,以微为单位。
%{FOOBAR}e    环境变量 FOOBAR 的值
%f    文件名
%h    远端主机
%H    请求使用的协议
%{Foobar}i    发送到服务器的请求头 Foobar: 的内容。
%l    远端登录名(由 identd 而来,如果支持的话),除非 IdentityCheck 设为 ”On”,否则将得到一个 ”-“。
%m    请求的方法
%{Foobar}n    来自另一个模块的注解 Foobar 的内容。
%{Foobar}o    应答头 Foobar: 的内容。
%p    服务器服务于该请求的标准端口。
%P    为本请求提供服务的子进程的 PID。
%{format}P 服务于该请求的 PID 或 TID(线程 ID),format 的取值范围为:pid 和 tid(2.0.46 及以后版本) 以及 hextid(需要 APR1.2.0 及以上版本)
%q    查询字符串 (若存在则由一个 ”?” 引导,否则返回空串)
%r    请求的第一行
%s    状态。对于内部重定向的请求,这个状态指的是原始请求的状态,—%>s 则指的是最后请求的状态。
%t    时间,用普通日志时间格式(标准英语格式)
%{format}t    时间,用 strftime(3) 指定的格式表示的时间。(默认情况下按本地化格式)
%T    处理完请求所花时间,以秒为单位。
%u    远程用户名 (根据验证信息而来;如果返回 status(%s) 为 401,可能是假的)
%U    请求的 URL 路径,不包含查询字符串。
%v    对该请求提供服务的标准 ServerName。
%V    根据 UseCanonicalName 指令设定的服务器名称。
</span><span style=”font-size:18px;”>

【补充】”<“ 和 ”>” 修饰符可以用来指定对于已被内部重定向的请求是选择原始的请求还是选择最终的请求。默认情况下,%s, %U, %T, %D, %r 使用原始请求,而所有其他格式串则选择最终请求。例如,<strong>%>s</strong> 可以用于记录请求的最终状态,而 %<u 则记录一个已经被内部重定向到非认证资源的请求的原始认证用户。
  如果在“%”和变量之间放入了一个或者多个 HTTP 状态代码,则只有当请求返回的状态代码属于指定的状态代码之一时,变量所代表的内容才会被记录。例如,如果我们想要记录的是网站的所有无效链接,那么可以使用:
    LogFormat %404{Referer}i BrokenLinks 
  反之,如果我们想要记录那些状态代码不等于指定值的请求,只需加入一个“!”符号即可:
  LogFormat %!200U SomethingWrong 

我们还可以自定义日志格式,例如:

LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\” ” combine

定义了 combine 格式  其中 \”%{Referer}i\” \”%{User-Agent}i\” 是发送到服务器的求情头和 Referer 链接。

————————————- 我是分割线 ————————————-

Ubuntu 下 Apache 的 Rewrite 如何启用  http://www.linuxidc.com/Linux/2010-10/29027.htm

Ubuntu 14.04 中 Apache 2.2 升级到 2.4 后的几个要点 http://www.linuxidc.com/Linux/2015-01/111914.htm

Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

CentOS 5.9 下编译安装 LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12) http://www.linuxidc.com/Linux/2013-03/80333p3.htm

RedHat 5.4 下 Web 服务器架构之源码构建 LAMP 环境及应用 PHPWind http://www.linuxidc.com/Linux/2012-10/72484p2.htm

LAMP 源码环境搭建 WEB 服务器 Linux+Apache+MySQL+PHP http://www.linuxidc.com/Linux/2013-05/84882.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计3445字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7995948
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...