Spec-Zone.ru › Apache HTTP Server

Запуск Apache

В Windows Apache обычно запускается как служба. Подробнее см. Запуск Apache в качестве службы.

В Unix программа httpd запускается как демон, который непрерывно работает в фоновом режиме и обрабатывает запросы. В этом документе описано, как запускать httpd.

Как запускается Apache

Если значение Listen, указанное в файле конфигурации, по умолчанию равно 80 (или любому другому порту ниже 1024), для запуска Apache необходимы права суперпользователя, чтобы он мог привязаться к этому привилегированному порту. После запуска сервера и выполнения нескольких предварительных действий, таких как открытие файлов журналов, он запустит несколько дочерних процессов, которые будут принимать запросы от клиентов и отвечать на них. Главный процесс httpd продолжает работать от имени суперпользователя, а дочерние процессы работают от имени пользователя с меньшими привилегиями. Это регулируется выбранным модулем многопроцессорной обработки.

Рекомендуемый способ запуска исполняемого файла httpd — использовать управляющий скрипт apachectl. Этот скрипт задаёт определённые переменные среды, необходимые для корректной работы httpd в некоторых операционных системах, а затем запускает двоичный файл httpd. apachectl передаст все аргументы командной строки, поэтому любые параметры httpd также можно использовать с apachectl. Вы также можете напрямую отредактировать скрипт apachectl, изменив переменную HTTPD в его верхней части, чтобы указать правильное расположение двоичного файла httpd и любые аргументы командной строки, которые должны присутствовать всегда.

Первое, что делает httpd при запуске, — находит и читает файл конфигурации httpd.conf. Расположение этого файла задаётся во время компиляции, но его можно указать во время выполнения с помощью параметра командной строки -f, например:

/usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd.conf

Если при запуске всё пройдёт успешно, сервер отсоединится от терминала, и почти сразу появится приглашение командной строки. Это означает, что сервер запущен и работает. Теперь можно подключиться к серверу с помощью браузера и просмотреть тестовую страницу в каталоге DocumentRoot.

Ошибки при запуске

Если во время запуска Apache столкнётся с критической проблемой, перед завершением работы он выведет сообщение с описанием проблемы в консоль или в ErrorLog. Одно из наиболее распространённых сообщений об ошибке: «Unable to bind to Port ...». Обычно это сообщение появляется по одной из следующих причин:

  • Попытка запустить сервер на привилегированном порту, не войдя в систему как суперпользователь; или
  • Попытка запустить сервер, когда другой экземпляр Apache или какой-либо другой веб-сервер уже использует тот же порт.

Дополнительные инструкции по устранению неполадок см. в разделе часто задаваемых вопросов Apache.

Запуск при загрузке системы

Чтобы сервер продолжал работать после перезагрузки системы, добавьте вызов apachectl в системные файлы запуска (обычно rc.local или файл в каталоге rc.N). Это запустит Apache от имени суперпользователя. Прежде чем сделать это, убедитесь, что сервер правильно настроен с учётом требований безопасности и ограничений доступа.

Скрипт apachectl предназначен для работы подобно стандартному скрипту инициализации SysV: он принимает аргументы start, restart и stop и преобразует их в соответствующие сигналы для httpd. Поэтому часто достаточно просто создать ссылку на apachectl в соответствующем каталоге инициализации. Однако обязательно проверьте точные требования вашей системы.

Дополнительная информация

Дополнительные сведения о параметрах командной строки httpd и apachectl, а также о других вспомогательных программах, поставляемых с сервером, доступны на странице Сервер и вспомогательные программы. Также доступна документация по всем модулям, входящим в дистрибутив Apache, и предоставляемым ими директивам.

© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/invoking.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API