我有一台基于 CentOS 的服务器。每个域在 vhosts 中都有自己的条目。
所有内容都记录在 /var/log/httpd/access_log 中。
我如何才能知道哪些域名正在占用带宽?
它与 Apache 一起运行。在访问日志中,我只能看到 GET /index.php(或其他内容),而看不到实际的主机名(/domain),也看不到 referer(因此我只能大致判断出哪些页面比较受欢迎)。
我该怎么做才能记录完整的请求 URI,并解析它们并查看最受欢迎的?
谢谢
答案1
在<VirtualHost>
给定 VirtualHost 的块中,您可以指定一个CustomLog
条目,以使发往该虚拟主机的请求转到其自己的日志文件。这Stack Overflow 问题提供了一个例子:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/domains/example.com/html
ErrorLog /var/www/domains/example.com/apache.error.log
CustomLog /var/www/domains/example.com/apache.access.log common
php_flag log_errors on
php_flag display_errors on
php_value error_reporting 30719
php_value error_log /var/www/domains/example.com/php.error.log
</VirtualHost>
所以这应该使您能够通过 vhost 分割所有内容并让您获得有意义的统计数据。