Конфигурационный файл 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: максимальное количество запросов, разрешенных # для обработки каждому дочернему процессу перед его удалением.