Spec-Zone.ru › Apache HTTP Server

Запуск Apache

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

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

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

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

Рекомендуемый способ вызова исполняемого файла 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 ...". Это сообщение обычно возникает из-за:

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

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

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

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

Скрипт 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