vhost 的默认日志指令

vhost 的默认日志指令

我正在使用带有 VirtualHosts 的 Apache 2,目前,我必须为每个新的 vhost 手动添加ErrorLog/ CustomLog(我知道我可以使用脚本来创建它们)。

有没有办法在正常的 apache2 配置中定义这些指令,以便对于每个 vhost,可以根据 ServerName 自动设置日志指令,还是必须为每个 vhost 单独创建这些指令?

答案1

请参阅这个答案:具有动态日志的虚拟主机中的通配符?

简短的回答是否定的,您不能拥有某种动态ErrorLog定义,通过单一ErrorLog设置为每个虚拟主机创建单独的日志,但您可以使用一些技巧将CustomLog虚拟主机添加到日志中,然后将输出通过管道传输到脚本以解析数据并写入不同的日志文件。

不过,我认为所有这些都相对复杂。我会编写一个脚本,将每个虚拟主机的配置文件生成到特定目录中,每个文件都有自己的ErrorLogCustomLog指令,然后使用该脚本Include将该目录的文件包含到总体配置中。让脚本在每次服务器启动、重新启动或 HUP 之前运行并完成。

另一种选择是编写一个 Apache 模块,引入一个配置指令,允许您执行您想做的事情。

相关内容