📜  apache 日志 (1)

📅  最后修改于: 2023-12-03 15:29:26.469000             🧑  作者: Mango

Apache 访问日志

Apache 访问日志是 Apache web 服务器记录所有访问请求的文件。该文件包括每个访问请求的信息,如请求时间、请求方法、请求URL、用户代理等。

日志格式

Apache 的访问日志格式可以按照用户需要进行配置。默认的格式如下:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined

其中每个字段的含义如下:

  • %h:客户端IP地址
  • %l:客户端标识,如果没有则为-
  • %u:请求的远程用户,如果没有则为-
  • %t:时间戳
  • %r:请求行
  • %>s:状态码
  • %b:响应体大小,单位为字节,如果没有则为-
  • %{Referer}i:引用页
  • %{User-agent}i:客户端用户代理

日志分析

访问日志可以用于分析网站的访问情况,以便进行性能优化、SEO 优化等。Apache 提供了 rotatelogs 命令,在每日/周/月等时间间隔内生成访问日志文件的副本,以便进行分析。

除了手动分析外,还可以使用第三方工具来分析访问日志,如 AWStatsWebalizer 等。

日志轮换

访问日志文件一般较大,如果不进行轮换会占用大量磁盘空间。Apache 的日志轮换可以通过配置 LogRotate 实现。在 /etc/logrotate.d/ 目录下创建文件 httpd,内容如下:

/var/log/httpd/*log {
    missingok
    notifempty
    sharedscripts
    delaycompress
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
}

该配置文件将自动轮换 /var/log/httpd/ 目录下的所有日志文件。