小智 28
在您的终端中,键入
tail -f /var/www/log/apache2/other_vhosts.access.log
Run Code Online (Sandbox Code Playgroud)
这将查看实时请求.
Wil*_*mer 15
正如@Maor H.所指出的,访问日志通常是获得"传入"请求的最方便的地方.这些日志可以配置为去任何地方,但通常可以在/var/log/apache2/或下面的某处找到/var/log/httpd/.
它们的位置由CustomLog指令httpd.conf或包含文件(例如虚拟主机)决定.因此,如果在上述某个目录中找不到日志,那么在您httpd.conf和类似*.conf文件中搜索它通常是一个好的开始/var/log/*.
但是,一个重要的区别是,在请求完成之前,不会写入apache/httpd的日志.这很容易注意,因为日志条目通常包括最终请求的状态代码(%>s在LogFormat指令中)以及请求花了多长时间(%T在LogFormat指令中).
如果你有兴趣看到"他们进来"的请求,简短的回答是没有我所知道的"好"方式.但是,一个通常很好的方法是使用Apache mod_status,它通常配置(当配置时)可以通过http://127.0.0.1/server-status/与服务器本身相同的机器访问.通过mod_status配置,您通常可以使用类似于apachectl fullstatus或(取决于您的分发)的命令从命令行查看"记分板"的输出,因为它是调用的service httpd fullstatus.
在server-status/ fullstatus/"记分牌"会显示活动(以及非活动)连接的摘要,请求本身的截断副本,什么是目前关于该请求发生(如:?它正在处理被发送的回复?它是空闲的吗?它只是在等待新连接吗?)
记分牌的主要缺点是它不适合于被拖尾或以其他方式积极监控.它有助于确定可能导致服务器上的过度负载的内容,尽管它具有仅在apache能够提供额外连接时才能访问的缺点(因此找出阻止其他连接的内容是没有用的) .
如上所述,记分板的主要好处是:它在请求完成之前为您提供请求详细信息.考虑到这一点,它可能更适合您的"传入"请求列表的请求.
如果你想获得更低级别的东西,而不是谈论生产服务器,那么当然,WireShark可以为你提供HTTP请求的实时列表.这会监视TCP连接本身,而且资源太多了 - 密集生产用途.如果你试图找出电线上实际发生的事情,那么它就是最好的选择.
| 归档时间: |
|
| 查看次数: |
32861 次 |
| 最近记录: |