我有一个Apache 1.3 Web服务器configuration了几个VirtualHost条目,为多个独立的网站提供服务。
Apache在某些时候收到大量的请求,导致服务器工作量很大。 我想知道所有这些网站中的哪一个正在接收请求。
我怎样才能做到这一点? 我已经阅读了Apache的mod_info模块 ,但是我不知道它是否存在安全风险。
谢谢!
如果每个域都有一个日志文件,例如/var/log/apache/domain.tld/access_log
然后,您可以使用watch,sort和du来快速找出哪些文件更改(因为apache总是将日志文件添加到日志文件中)
# watch "du -k /var/log/apache/*/access_log |sort -n"
或者如果你有很多的文件,而你只是想改变最多的文件
# watch "du -k /var/log/apache/*/access_log |sort -n |tail -30"
我的build议是将您的LogFormat改为包含%v ,这是服务请求的<VirtualHost>的ServerName 。
从那里,对日志的分析将允许您确定大部分请求是在哪里进行的。
您可以logging所需的主机名:
%{Host}i
您可以使用以下命令loggingVirtualHost的ServerName:
%v