После авторизации Вы получите доступ к файлам, скрытым материалам сайта, исходным кодам
возможность комментировать и т.д.

Вы можете авторизоваться на сайте всего одним кликом:

2016-07-09
APACHE → Настройка httpd.conf
Как настроить сервер Apache

Как настроить сервер Apache? Что такое файл httpd.conf? В этом уроке я дам ответы на эти вопросы и покажу основные директивы для настройки сервера.

Файлы конфигураци сервера

Сервер Apache имеет три конфигурационных файла: httpd.conf, srm.conf, access.conf. Обычно эти файлы находятся в каталоге /etc/httpd/conf (linux). Вся настройка сервера заключается в редактировании этих трех файлов. Рассмотрим, какие функции выполняют эти файлы:

  1. Файл httpd.conf — это основной файл конфигурации сервера. В нем содержится техническое описание работы сервера.
  2. В файле srm.conf задаются параметры документов, которые размещены на сервере.
  3. Файл access.conf содержит параметры доступа к серверу.

Файл httpd.conf

Файл содержит практически все директивы, необходимые для работы сервера. Ниже представлены основные директивы конфигурационного файла сервера Apache:

ServerName — директива, которая определяет имя сервера Apache. Причем, здесь должно быть задано официальное имя сервера в таком виде, в котором оно должно появляться в адресной строке браузера. Данное имя должно быть зарегистрировано на сервере DNS вашей сети.

ServerType — директива, которая определяет тип сервера. По умолчанию используется значение standalone. Если вы хотите достичь максимальной производительности вашего Web-сервера, не изменяйте эту опцию.

ServerType standalone

ServerRoot — в этой директиве указывается местонахождение файлов конфигурации сервера Apache. По умолчанию для этих целей используется каталог /etc/httpd.

ServerRoot "D:/MyFolder/usr/local/Apache"

PidFile — с помощью этой директивы указывается имя файла, в котором исходный процесс сервера будет регистрироваться. Этот файл содержит свой идентификатор процесса (PID). Данную информацию можно использовать для останова или перезапуска сервера при написании собственных сценариев. Данный файл будет создан, только если сервер Apache запущен в автономном режиме.

PidFile logs/httpd.pid

Timeout — задает промежуток времени в секундах, в течение которого сервер продолжает попытки возобновления приостановленной передачи данных. Значение директивы Timeout распространяется не только на передачу, но и на прием данных. Если вам нужно получать большие файлы, рекомендую увеличить данное значение.

Timeout 300

KeepAlive — разрешает постоянные соединения, то есть такие соединения, в которых производится более одного запроса за один раз.

KeepAlive On

MaxKeepAliveRequests - Максимальное количество запросов, разрешенное в течение постоянного соединения. Установите 0 для снятия ограничения. Для повышения производительности рекомендуется установить это число сравнительно большим.

MaxKeepAliveRequests 100

KeepAliveTimeout - определяет тайм-аут для постоянного соединения.

KeepAliveTimeout 15

ServerAdmin - Задает электронный адрес вебмастера вашего Web-узла. В случае возникновения ошибок именно по этому адресу будет отправлено сообщение.

ServerAdmin root@localhos

StartServers - Устанавливает количество дочерних прицессов, которые создаются при запуске сервера. Параметр динамический и изменяется в процессе работы, поэтому можно его не менять.

MinSpareServers - Задает минимальное число неиспользуемых дочерних процессов, которые ожидают в готовности принят запрос. Создание нового процесса достаточно затратная операция и при большом количестве запросов на сервер будет ложится лишняя нагрузка.

MinSpareServers 8

MaxSpareServers – Задает максимально число неиспользуемых дочерних процессов, которые ожидают в готовности принят запрос. Опять же, если создано много дополнительных процессов, то система будет нагружаться сильно даже при минимальном количестве клиентов.

MaxSpareServers 20

ServerLimit – Эта директива устанавливает максимальное значение MaxClients. Рекомендуется устанавливать это значение равным значению в директиве Maxclients.

MaxClients - следует обратить внимание, что это самый важный параметр настройки Prefork MPM. Директива устанавливает максимальное количество параллельных процессов, создаваемых для обработки запросов. Чем больше значение, тем больше одновременно может быть обработано запросов и тем больше будет израсходовано памяти. При использовании динамических страниц с PHP на процесс может быть выделено 16-32МБ. Чтобы определить точнее необходимо через SSH-соединение выполнить команду ‘ps -ylC httpd --sort:rss‘. На выходе мы получим табличку, где в колонке RSS и будут находится искомые значения занятой памяти, для получения значений в мегабайтах их нужно разделить на 1024. Для получения общей информации о памяти можно выполнить команду ‘free -m‘. Теперь можно рассчитать примерное значение самого параметра по любой из формул:

MaxClients ≈ (RAM – размер_загруженных_приложений)/(размер_процесса), либо
MaxClients ≈RAM* 70% / Max_размер_памяти_под_процесс.

MaxRequestsPerChild – Задает количество запросов, которые может обработать дочерний процесс до перезапуска. Значение должно быть достаточно большим, чтобы все время не создавать новые процессы. Но рекомендуется все же его ограничить (0 – неограниченно), чтобы при длительной работе Apache, в случае “утечки памяти”, процесс был принудительно завершен.

MaxRequestsPerChild 500
2842
0
Пожалуйста, авторизируйтесь, чтобы скачать архив с файлами урока