Apache Версия 2.0 Сервера HTTP
используя большое количество Действительных Хозяев, Apache мог исчерпать доступные описатели файла (иногда называемый описатели файла ), если каждый Действительный Хозяин определяет различные файлы системного журнала. Общее количество описателей файла, используемых Apache - один для каждого отличного ошибочного файла системного журнала, один для каждой другой директивы файла системного журнала, плюс 10-20 для внутреннего использования. Операционные системы Unix ограничивают число описателей файла, которые могут использоваться процессом; предел - типично 64, и может обычно увеличиваться до большого твердого предела.
хотя Apache пытается увеличить предел как требуется, это, возможно, не работает если:
setrlimit()
запрос системы.
setrlimit(RLIMIT_NOFILE)
запрос не функционирует на вашей системе (, типа Solaris 2.3)
в случае проблем Вы можете:
<VirtualHost>
секции, но только регистрируют к главным файлам системного журнала. (См.
Splitting up your log files
, ниже, для получения дополнительной информации о выполнении этого.)
#!/bin/sh
ulimit -S -n 100
exec httpd
пожалуйста см. Descriptors and Apache документ, содержащий дальнейшие детали о проблемах описателя файла и как они могут быть решены на вашей операционной системе.
если Вы хотите регистрировать многократных действительных хозяев того же самого файла системного журнала, Вы можете хотеть разделить файлы системного журнала, впоследствии чтобы управлять статистическим анализом различных действительных хозяев. Это может быть достигнуто в следующей манере.
сначала, Вы будете должны добавить действительную информацию хозяина к записям регистрации. Это может быть сделано, используя
LogFormat
директива, и
%v
переменная. Добавьте это к началу вашей вереницы формата регистрации:
LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost
CustomLog logs/multiple_vhost_log vhost
это создаст файл системного журнала в общем формате регистрации, но с каноническим действительным хозяином (независимо от того, что появляется в
ServerName
директива) предбывший на рассмотрении к каждой линии. (См.
Custom Log Formats
для больше о настройке ваших файлов системного журнала.)
когда Вы желаете расколоть ваш файл системного журнала в его составляющие части (один файл в действительного хозяина), Вы можете использовать программу
split-logfile
достигать этого. Вы найдете эту программу в
support
справочник Apacheского распределения.
управляемый эта программа с командой:
split-logfile < /logs/multiple_vhost_log
эта программа, когда управляется с названием вашего vhost файла системного журнала, произведет один файл для каждого действительного хозяина, который появляется в вашем файле системного журнала. Каждый файл будут называть
hostname.log
.