我使用Apache 2与VirtualHosts,目前,我将不得不手动添加ErrorLog / CustomLog每个新的虚拟主机(我知道我可以使用脚本来创build它们)。
有没有办法在正常的apache2configuration中定义这些指令,以便每个虚拟主机,以便根据ServerName自动设置日志指令,还是我必须为每个虚拟主机单独创build?
看到这个答案: 虚拟主机中的通配符与dynamic日志?
简短的答案是否定的,你不能有某种dynamic的ErrorLog定义,它将通过一个ErrorLog设置为每个虚拟主机创build单独的日志,但是你可以做一些技巧来让CustomLog把虚拟主机添加到日志中,然后将输出传递给脚本以parsing数据并写入不同的日志文件。
不过,我认为所有这些都是比较复杂的。 我将编写一个脚本,将每个虚拟主机configuration文件生成到一个特定的目录中,每个目录都有自己的ErrorLog和CustomLog指令,然后使用Include将该目录的文件Include到整体configuration中。 使脚本在每个服务器启动,重新启动或HUP之前运行并完成。
另一个select是编写一个Apache模块,它引入了一个configuration指令,允许你做你想做的事情。