Запуск 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