Linux下apache开启日志记录,记录自定义web日志

2025-11-19 17:36:54

1、由于centos下面自带有apache,目录是/etc/httpd下面,httpd就是apache。

首先我们编辑apache的配置文件:

vim /etc/httpd/conf/httpd.conf

Linux下apache开启日志记录,记录自定义web日志

2、然后在里面搜索LogFormat,怎么搜索呢???

使用vim或者vi命令打开apache配置文件后我们按键盘左斜杠 / 然后斜杠后面加你要搜索的内容,输完后回车,linux会用不同背景突显你搜索的内容,例如我们需要查找LogFormat,就输入:/LogFormat

如下图,左下角/LogFormat就是我们输入的内容,橙色背景的LogFormat就是找到的内容,由于linux不能用鼠标滑动翻页,我们就利用键盘的

N(下一个查找的结果)

B(上一个查找的结果)

Linux下apache开启日志记录,记录自定义web日志

3、我们找到

找到:

CustomLog "logs/access_log" common 

(在LogFormat配置文件的下面一点,直接搜索/CustomLog定位也行)

这个是保存的日志目录,一般是在apache安装目录下的logs目录下,后面的access.log就是保存的日志名,根据自己的需求修改,一般不是比赛要求,默认即可!我把它修改为

CustomLog "logs/webaccess_log" common 

怎么修改???

vim或者vi命令进去后搜索到我们想要的内容,按键盘insert(插入)[电脑键盘↑键上面],然后就能编辑了。

接下来继续......

Linux下apache开启日志记录,记录自定义web日志

4、上面的上面一点有这个代码(不知道你们听得懂不,不懂就搜索下面那个代码修改就行,记得ESC退出编辑才能搜索)

LogFormat "%h %l %u %t \"%r\" %>s %b" common

这个就是设置要保存的日志内容,前面的%h %l都代表一个要记录的信息

大家根据自己需求,按照下面的译文进行修改。

Apache文档已经给出了所有可用于格式串的变量及其含义,下面是其译文: %…a: 远程IP地址 %…A: 本地IP地址 %…B: 已发送的字节数,不包含HTTP头 %…b: CLF格式的已发送字节数量,不包含HTTP头。例如当没有发送数据时,写入‘-’而不是0。 %…{FOOBAR}e: 环境变量FOOBAR的内容 %…f: 文件名字 %…h: 远程主机 %…H 请求的协议 %…{Foobar}i: Foobar的内容,发送给服务器的请求的标头行。 %…l: 远程登录名字(来自identd,如提供的话) %…m 请求的方法 %…{Foobar}n: 来自另外一个模块的注解“Foobar”的内容 %…{Foobar}o: Foobar的内容,应答的标头行 %…p: 服务器响应请求时使用的端口 %…P: 响应请求的子进程ID。 %…q 查询字符串(如果存在查询字符串,则包含“?”后面的部分;否则,它是一个空字符串。) %…r: 请求的第一行 %…s:  。对于进行内部重定向的请求,这是指*原来*请求 的状态。如果用%…>s,则是指后来的请求。 %…t: 以公共日志时间格式表示的时间(或称为标准英文格式) %…{format}t: 以指定格式format表示的时间 %…T: 为响应请求而耗费的时间,以秒计 %…u: 远程用户(来自auth;如果返回状态(%s)是401则可能是伪造的) %…U: 用户所请求的URL路径 %…v: 响应请求的服务器的ServerName %…V: 依照UseCanonicalName设置得到的服务器名字    在所有上面列出的变量中,“…”表示一个可选的条件。如果没有指定条件,则变量的值将以“-”取代。分析前面来自默认httpd.conf文件的 LogFormat指令示例,可以看出它创建了一种名为“common”的日志格式,其中包括:远程主机,远程登录名字,远程用户,请求时间,请求的第一 行代码,请求状态,以及发送的字节数。

比如说我想要记录:客户机ip、连接的日期和时间、响应请求的状态代码、传送的字节数、请求的URL路径,先用#注释之前LogFormat日志配置,再复制一份出来粘贴到下面,有备无患。

对应添加如下:

LogFormat "%a %t %s %b %U" common

然后保存

怎么复制粘贴保存???

按ESC,键盘上下左右键放到你要复制的内容后面,按V开启选择,再按键盘上下左右键你就选择内容了,选择完按ESC,再按Y(复制),再按键盘上下左右键到你要粘贴的地方,按P(粘贴),就好了。看不懂就找度娘。这些与此教程无关!!!

Linux下apache开启日志记录,记录自定义web日志

5、然后就是重启apache

service httpd restart

Linux下apache开启日志记录,记录自定义web日志

6、然后看看logs目录有没有log文件

转到apache的logs目录:cd /etc/httpd/logs/

查看目录下的文件:ls

然后有几个日志文件,其中包括我们的webaccess_log

编辑看看,是空白的,那就是正常,因为我们还没有访问过网页

Linux下apache开启日志记录,记录自定义web日志

Linux下apache开启日志记录,记录自定义web日志

7、还有一个重要的就是linux的防火墙和linux访问控制列表

关闭防火墙:service iptables stop

临时关闭访问控制列表:setence 0

只建议临时测试这么干

Linux下apache开启日志记录,记录自定义web日志

8、最后访问网页试试,然后再用上面的方法查看日志里面有没有记录

OK,有,可以了

PS:访问网页肯定要设置IP,怎么设置请百度linux设置ip,然后你如果是vmware做的虚拟机,要本机添加一个与linux同网段ip才能访问。

Linux下apache开启日志记录,记录自定义web日志

Linux下apache开启日志记录,记录自定义web日志

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢