Директивы файла конфигурации сервера Apache
Сервер Apache имеет три файла конфигурации, они находятся в каталоге /usr/local/etc/httpd/conf. Эти файлы позволяют настроить все стороны функционирования сервера.
Имя файла | Назначение |
Httpd.conf | Файл конфигурации сервера, содержит основное техническое описание работы демона. |
Srm.conf | Карта ресурсов сервера, указывает демону HTTPd порядок предоставления файлов. |
Access.conf | Файл конфигурации доступа содержит информацию о том, кто имеет право осуществлять доступ к вашему серверу. |
httpd.conf: файл конфигурации сервера
Файлhttpd.conf содержит конфигурацию сервера.
ServerType
Для этой директивы значением по умолчанию является ServerType standalone. Серверы, работающие в автономном режиме (standalone), запускаются из загрузочных сценариев при запуске системы. Такая установка рекомендуется для улучшения производительности.
Серверу Apache (как и большинству традиционных серверов UNIX) для каждого соединения требуется запускать отдельную копию. Система UNIX оптимизирована специально для такого поведения, и накладные расходы на создание процессом собственной копии невелики. После запуска сервер, работающий в автономном режиме, начинает прослушивание на предмет наличия запросов на соединение. Обнаружив такой запрос, сервер ⌠раздваивается■ для его обслуживания. Когда копия заканчивает работу, она завершается.
Кроме того, сервер Apache должен считывать информацию из файла конфигурации и производить ее синтаксический разбор при каждом запуске своей копии демоном inetd. Такие накладные расходы неприемлемы, если ожидается, что ваш Web-узел будет достаточно занятым. Практически для каждого HTTP-сервера следует использовать в этой директиве режим standalone.
Port
В этой директиве задается номер сетевого порта, на котором будет работать сервер, если он запущен в автономном режиме.
Значением по умолчанию для этой директивы является Port 80. К этому порту Web-броузеры пытаются подключиться по умолчанию, и он является стандартным портом для протокола HTTP и рекомендуется для использования на основном сервере вашего Web-узла.
HostnameLookups
В целях наблюдения за деятельностью пользователей сервер Apache ведет серию журнальных файлов. В одном из них ведется учет компьютеров, осуществивших доступ к серверу. Директива HostnameLookups указывает, записывается ли в журнальный файл имя компьютера или только его IP-адрес. По умолчанию сервер сохраняет имя компьютера, но если ожидаемый объем графика очень велик, отключение опции HostnameLookups позволит немного уменьшить нагрузку на сервер. Это делается простым изменением строки на HostnameLookups off.
User и Group
Эти параметры задают действительные идентификаторы пользователя и группы, которые присваиваются серверу, работающему в автономном режиме. (Если используется inetd, большинство систем UNIX требует указать идентификатор пользователя в файле/etc/inetd-conf). Можно задавать как имена, так и их числовые эквиваленты, которые можно найти в файлах/etc/passwd и /etc/group соответственно.
В качестве идентификатора группы следует использовать идентификатор какой-нибудь нейтральной группы, имеющейся в системе. Часто используется группа news. Либо можно специально создать для сервера новую группу.
ServerAdmin
Это официальный электронный адрес вебмастера Web-узла. Обычно используется адрес в форме WebMaster@ваш_cepвep, где ваш_сервер является хорошо известным именем сервера. При этом адрес останется неизменным, даже если сменится вебмастер.
Этот адрес необходимо добавить в поддерживаемую почтовым сервером базу данных псевдонимов, находящуюся в файле/etc/aliases.
ServerRoot
В этой директиве задается базовый каталог, в котором будет установлено программное обеспечение HTTP-сервера Apache. По умолчанию это каталог/usr/local/etc/httpd.
BindAddress
Эта директива используется только для компьютеров, имеющих более одного IP-адреса. С ее помощью можно устанавливать, прослушивание какого из IP-адресов компьютера сервер будет производить на предмет поступления запросов. Большинство компьютеров имеют один IP-адрес.
По умолчанию эта директива закомментирована, и сервер производит прослушивание всех адресов компьютера.
ErrorLog и TransferLog
При помощи этих двух директив задается местоположение журнальных файлов, в которых регистрируются ошибки и попытки доступа к серверу соответственно. Сервер подразумевает, что имена, начинающиеся не с косой черты (/), отсчитываются от каталога ServerRoot.
Эти журнальные файлы весьма просты. В файле, указанном в директиве ErrorLog, сервер сохраняет сообщения диагностики, включая сообщения об ошибках, выдаваемые сценариямиCGI. В файле, указанном в директиве TransferLog, сервер сохраняет все запросы клиентов.
PidFile и ScoreBoardFile
Если сервер работает в автономном режиме, то в директиве PidFile задается имя файла, в котором исходный процесс-сервер регистрируется, указывая свой идентификационный номер. Эта информация используется для завершения или перезапуска сервера. Директива ScoreBoardFile позволяет серверу Apache следить за собственной производительностью.
ServerName
В этой строке стоит официальное имя сервера в том виде, в котором оно появляется в строке URL (то есть http://www.ИMЯ_ сервера/). Это должно быть имя компьютера, зарегистрированное в системе имен серверов организации или провайдера.
CacheNegotiatedDocs
Эта директива предназначена для пользователей, работающих через прокси-сервер ≈ сервер, собирающий для них информацию, хранящий ее у себя и передающий им сохраненную копию вместо того, чтобы запрашивать в Интернете новую копию. Эта директива позволяет прокси-серверу кэшировать договорные документы, то есть документы, не получаемые динамически, такие как вывод сценариев CGI или сгенерированная сервером индексная страница. Обычно прокси-серверы не кэшируют такие документы, поскольку велика вероятность их изменения.
Timeout
Это промежуток времени в секундах, в течение которого сервер ждет продолжения недополученного запроса или продолжает попытки возобновления приостановленной передачи ответа. Если у вас медленное соединение с Интернетом или вам приходится передавать большие файлы, увеличьте это значение. В противном случае, 20 минут является вполне достаточным временем ожидания реакции медленного клиента или медленного соединения.
KeepAlive и KeepAliveTimeout
Характеристики KeepAlive являются свойствами протокола HTTP I.I , позволяющими ускорить обработку запросов. HTTP 1.0 при каждом запросе на передачу объекта создается новое соединение между клиентом и сервером. В сервере Apache реализована свойственная протоколу HTTP 1.1 возможность KeepAlive,что означает возможность запрашивать несколько объектов в рамках одного соединения. Например, раньше передача Web-страницы с четырьмя встроенными изображениями потребовала бы пять отдельных соединений, а с использованием KeepAlive все последовательные запросы производятся в рамках одного соединения. Очевидно, что это сокращает время обработки запросов сервером. Конечно, клиент должен уметь производить такие специальные запросы.
StartServers
Обратите внимание, что директива StartServers в файлеhttpd.conf стоит после директив MinSpareServers и MaxSpareServers, однако понять значение директив Min- и MaxSpareServers значительно легче, если сначала разобраться с директивой StartServers.
Исходная копия сервера выступает в качестве планировщика для всех серверов в пуле, принимая соединения и передавая их свободным копиям. Теоретически, такая стратегия ускоряет процесс обслуживания запросов, снижая накладные расходы. На практике, однако, некоторые вебмастеры утверждают, что этим эффектом можно пренебречь, если только сервер не является очень загруженным (более 100 000 запросов в день).
MaxSpareServers и MinSpareServers
Если число поступающих запросов превышает число серверов в пуле, заданное параметром StartServers, буфер серверов увеличивается для обслуживания запросов. Эти дополнительные процессы-серверы не завершаются после обработки запроса, ради которого они были запущены; они остаются в памяти. Директива MaxSpareServers позволяет настраивать число свободных серверов, находящихся в пуле. Если их больше, чем указано в директиве MaxSpareServers, то лишние процессы завершаются. Аналогично, если свободных серверов в пуле меньше, чем допускает директива MinSpareServers, то в преддверии наплыва запросов создаются дополнительные копии сервера.
MaxClients
Поскольку Web-серверы обрабатывают большое количество запросов от многочисленных клиентов, это может привести к запуску такого количества серверов, что компьютер перестанет справляться с нагрузкой. Директива MaxClients устанавливает максимальное число копий сервера, которые могут выполняться одновременно. Когда достигается этот предел (по умолчанию ≈ 150), новые запросы получают отказ.
MaxRequestsPerChild
В этой директиве задается время жизни любого отдельного сервера в пуле серверов. Обработав установленное здесь количество запросов (по умолчанию ≈ 30), копия сервера завершается, а вместо нее запускается новая.
ProxyRequests и директивы Cache
Как уже было отмечено, прокси-серверы действуют в качестве посредников между клиентами и настоящими серверами, располагающими запрашиваемой клиентом информацией.
Listen
Использование виртуальных серверов позволяет придать адресу URL такой вид, будто он указывает на отдельный узел, даже если в действительности за ним стоит только часть большого сервера. Например, на сервере www.webstores.com может иметься раздел для информации корпорации ShoopSoft. Традиционно адрес URL выглядел бы, какhttp:// www.webstores.com/shoopsoft/. С использованием механизма виртуальных серверов раздел, принадлежащий корпорации, мог бы получить адрес URL вида:http://www.shoop.com/, как будто у корпорации есть в Интернете свой собственный Web-сервер.
Дата добавления: 2016-04-23; просмотров: 960;