Apache 虚拟主机独立日志配置教程

一、核心指令

每个虚拟主机里单独写这两行,就能生成独立日志
apache
# 错误日志
ErrorLog "logs/站点名-error.log"

# 访问日志
CustomLog "logs/站点名-access.log" common

二、完整配置示例(直接复制)

Windows(XAMPP)

apache
# 站点1:www.site1.com
<VirtualHost *:80>
    ServerName www.site1.com
    DocumentRoot "D:/xampp/htdocs/site1"

    # 独立日志
    ErrorLog "logs/site1-error.log"
    CustomLog "logs/site1-access.log" common

    <Directory "D:/xampp/htdocs/site1">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

# 站点2:www.site2.com
<VirtualHost *:80>
    ServerName www.site2.com
    DocumentRoot "D:/xampp/htdocs/site2"

    # 独立日志
    ErrorLog "logs/site2-error.log"
    CustomLog "logs/site2-access.log" common

    <Directory "D:/xampp/htdocs/site2">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Linux(CentOS / Ubuntu)

apache
# 站点1
<VirtualHost *:80>
    ServerName www.site1.com
    DocumentRoot /var/www/site1

    # 独立日志
    ErrorLog /var/log/httpd/site1-error.log
    CustomLog /var/log/httpd/site1-access.log common

    <Directory /var/www/site1>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

三、日志文件在哪里?

Windows(XAMPP)

plaintext
xampp/apache/logs/
里面会看到:
  • site1-error.log
  • site1-access.log
  • site2-error.log
  • site2-access.log

Linux

plaintext
/var/log/httpd/
# 或
/var/log/apache2/

四、日志格式说明(最常用)

  1. common:标准格式(IP、时间、请求、状态码)
  2. combined:更详细(包含来源页面、浏览器)
apache
CustomLog "logs/site1-access.log" combined

五、重启 Apache 生效

  • Windows:Stop → Start
  • Linux:
bash
运行
systemctl restart httpd
# 或
systemctl restart apache2

六、最常见问题

  1. 日志不生成

    路径写错 / 没有文件夹权限

  2. 所有站点日志混在一起

    没有在每个 <VirtualHost> 里单独写日志配置


总结

  1. 每个虚拟主机内部ErrorLogCustomLog
  2. 日志文件名区分开(site1、site2)
  3. 重启 Apache → 自动生成独立日志文件
上一篇 华为CE交接机-配置BFD状态与子接口状态联动
下一篇 一个便捷更改windows系统远程端口并设置防火墙得工具