Недавно я столкнулся с конфигурацией apache httpd 2.2, в которой было определено несколько директив ServerRoot, каждая из которых сопровождалась отдельными настройками prefork.
Примерно так:
ServerRoot root1
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
[vhost-configs]
ServerRoot root2
<IfModule prefork.c>
StartServers 10
MinSpareServers 10
MaxSpareServers 20
MaxClients 250
MaxRequestsPerChild 0
</IfModule>
[vhost-configs]
В моем понимании это глобальные настройки, одна над другой. Но так ли это и верно ли это для второй директивы ServerRoot между блоками prefork?
заранее спасибо
РЕДАКТИРОВАТЬ
Они не находятся в разных условных блоках, и оба корневых сервера используются таким образом, что файлы с относительными путями к обоим правильно включаются.
Я просто подумал, не <ServerRoot>
инициирует новую область видимости, в которой все глобальные операторы не будут переопределять конфигурацию предыдущих.
Это будет иметь смысл только в том случае, если они находятся в отдельных условных блоках, например <IfModule>
. Последний определенный ServerRoot
уже используется, правда?