Иллюстрированный самоучитель по Linux

Конфигурационный файл Apache

Хотя подкаталог /etc/httpd/conf включает все три оригинальных конфигурационных файла, собственно конфигурируется только файл httpd.conf. Остальные CONF-файлы оставлены для совместимости с предыдущими версиями.

Структура файла httpd .conf довольно проста. Ниже приведен его листинг по умолчанию:

##
## httpd.conf – конфигурационный файл HTTP-сервера Apache
##
#
# Построил Rob McCool на основе конфигурационных файлов NCSA-сервера.
#
# Это основной конфигурационный файл сервера. Он содержит
# конфигурационные директивы для сервера. За дополнительными
# инструкциями обращайтесь по адресу <URL: http://www.apache.org/docs/ >
#
# Если не понятно, о чем речь – лучше не читать. Если в чем-то
# не уверены – обращайтесь к документации в on-line. Вас предупредили.
#
# После обработки этого файла, сервер ищет и обрабатывает файлы
# /usr/conf/srm.conf и /usr/conf/access.conf, если вы не заблокировали
# их здесь директивами ResourceConfig и/или AccessConfig.
#
# Директивы конфигурирования разбиты на три раздела:
# 1. Директивы, управляющие работой сервера Apache в целом
# (раздел 'global environment').
# 2. Директивы, определяющие параметры 'сервера 'main' или 'default',
# соответствующие запросам, не обрабатываемые виртуальным хостом.
# Эти директивы также обеспечивают значения по умолчанию для всех
# виртуальных хостов.
# 3. Установки для виртуальных хостов, позволяющие отправлять
# Web-запросы на другие IP-адреса или хосты в расчете на обработку
# аналогичным Apache-сервером.
#
# Имена файлов конфигурации и протокола: Если заданные имена файлов
# управления сервером начинаются с "/" (или "drive:/ " для Win32),
# сервер будет использовать явный путь. Если имена не начинаются
# с "/", значение ServerRoot интерпретируется так: "logs/foo.log"
# для ServerRoot, установленного на "/usr/local/apache" будет
# интерпретироваться сервером как "/usr/local/apache/logs/foo.log".
### Раздел 1: Global Environment #
# Директивы этого раздела определяют поведение Apaohe в целом,
# например, задают число параллельно обрабатываемых запросов,
# или местоположение конфигурационных файлов.
# #
# ServerType либо inetd, либо standalone. Inetd режим поддерживается
# только на платформе Unix. #
ServerType standalone
#
# ServerRoot: Корень дерева каталогов, в котором сервер хранит
# файлы конфигурации, ошибок и протоколов.
#
# Внимание! Если вы хотите разместить его в NFS (или сети), смонтируйте
# файловую систему, затем прочитайте документацию LockFile (доступную
# по адресу <URL: http://www.apache.org/docs/mod/core.htmlflockfile >),
# и вы избавите себя от массы забот. #
# Не добавляйте косую черту в конце пути каталога. ServerRoot "/etc/httpd"
#
# Команда LockFile устанавливает путь к файлу блокировки, использующемуся
# если Apache откомпилирован либо с USE_FCNTL_SERIALIZED_ACCEPT, либо с
# USE_FLOCK_SERIALIZED_ACCEPT. Обычно эта команда должна иметь значение
# по умолчанию. Основной причиной, по которой нужно изменять эту
# переменную, является установка каталога протоколов на смонтированной
# NFS, так как файл-блокировки ДОЛЖЕН НАХОДИТЬСЯ НА ЛОКАЛЬНОМ ДИСКЕ.
# PID главного процесса сервера автоматически добавляется к имени файла.
# LockFile /var/lock/httpd.lock
# PidFile: Файл для протоколирования pid сервера PidFile /var/run/httpd.pid
# ScoreBoardFile: Файл для хранения сервером внутренней информации о
# процессе. Требуется не на всех архитектурах. Но если у Вас требуется
# (файл будет создан после запуска Apache), то Вы *должны* убедиться в
# том, что ни одна из запускаемых копий Apache не разделяет один и тот
# же файл для этой цели.
#
ScoreBoardFile /var/run/httpd.Scoreboard
#
# В стандартной конфигурации сервер обработает этот файл,
# файл srm.conf и access.conf в указанном порядке. Два последних файла
# в этом дистрибутиве пусты, а все директивы объединены в один
# файл для простоты. Ниже приведены закомментированные
# значения по умолчанию. Можно заставить сервер проигнорировать
# эти файлы, задав "/dev/null" (для Unix) или
# "mil" (для Win32) в качестве аргументов директив.
#
# ResourceConfig conf/srm.conf
#AccessConfig conf/access.conf
#
# Timeout: Количество секунд перед приемом и посылкой тайм-аута. Timeout 300
# KeepAlive: Разрешить или не разрешить устойчивые соединения (более
# одного запроса на каждое соединение). Для запрещения установите в "Off". KeepAlive On
# MaxKeepAliveRequests: Максимальное количество разрешенных запросов при
# устойчивом соединении. Значение 0 устанавливает неограниченное
#количество. Для обеспечения максимальной производительности рекомендуем
# установить это число большим.
# MaxKeepAliveReguests 100
#
# KeepAliveTimeout: Количество секунд для ожидания следующего запроса.
#
KeepAliveTimeout 15
#
# Правила размера серверного пула. Чтобы Вы не гадали, сколько Вам нужно
# процессов для сервера, Apache динамически подстраивается к текущей
# нагрузке – он пытается запустить необходимое количество процессов для
# оперирования текущей нагрузкой, плюс несколько резервных серверов для
# обслуживания временных пиков (т.е. нескольких одновременных запросов,
# исходящих из одного браузера Netscape).
#
# Делает он это при помощи периодической проверки количества
# серверов, ожидающих запросов. Если их меньше, чем MinSpareServers,
# то он создает дополнительный резерв. Если больше, чем
# MaxSpareServers, то он уничтожает некоторые из них.
# Эти значения, вероятно, подходят для многих сайтов
# MinSpareServers 5 MaxSpareServers 20
#
# Количество запускаемых серверов – должно быть умеренное
# приблизительное число.
# StartServers 8
# Предел на общее количество запускаемых серверов, т.е. предел на число
# одновременно соединяющихся клиентов – если этот предел когда-либо
# будет достигнут, клиенты будут ЗАБЛОКИРОВАНЫ, поэтому он НЕ ДОЛЖЕН
# БЫТЬ СЛИШКОМ МАЛЕНЬКИМ. Этот параметр главным образом используется
# как тормоз, чтобы необузданный сервер не потянул за собой Unix,
# который в это время начнет тормозить…
# MaxClients 150
# MaxRequestsPerChild: максимальное количество запросов, разрешенных
# для обработки каждому дочернему процессу перед его удалением.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.