Пункт 7. Запуск Apache
В Windows Apache обычно запускается как служба. Дополнительные сведения см. в разделе Запуск Apache как службы.
В Unix httpd программа запускается как демон, который постоянно работает в фоновом режиме для обработки запросов. В этом документе описывается, как вызывать httpd .
Как запускается Apache
Если Listen
в конфигурационном файле указано значение по умолчанию 80 (или любой другой порт ниже 1024), то необходимо иметь привилегии суперпользователя, чтобы запустить apache, чтобы он мог привязываться к этому привилегированному порту. Как только сервер запустится и выполнит несколько предварительных действий, таких как открытие файлов журнала, он запустит несколько
дочерних процессов, которые будут прослушивать запросы клиентов и отвечать на них. Основной httpd
процесс продолжает работать от имени пользователя root, но дочерние процессы выполняются от имени пользователя с меньшими правами. Это контролируется выбранным многопроцессорным модулем.
Рекомендуемый метод вызова httpd
исполняемого файла — использование apache2ctl сценария управления. Этот сценарий устанавливает определенные переменные среды, которые необходимы для
httpd правильной работы в некоторых операционных системах, а затем вызывает httpd двоичный файл.
apache2ctl будет проходить через любые аргументы командной строки, поэтому любые httpd параметры также могут использоваться с
apache2ctl . Вы также можете напрямую отредактировать
apache2ctl сценарий, изменив HTTPD
переменную вверху, чтобы указать правильное расположение двоичного файла
httpd и любых аргументов командной строки, которые вы хотите всегда использовать.
Первое, что httpd он делает при вызове, это находит и читает файл конфигурации
apache2.conf . Расположение этого файла задается во время компиляции, но его можно указать во время выполнения с помощью параметра -f командной строки, как в
/usr/local/apache2/bin/apache2ctl -f
/etc/apache2/apache2.conf
Если во время запуска все пойдет хорошо, сервер отсоединится от терминала, и командная строка вернется почти сразу. Это указывает на то, что сервер запущен и работает. Затем вы можете использовать свой браузер для подключения к серверу и просмотра тестовой страницы в DocumentRoot каталоге.
Ошибки при запуске
Если Apache сталкивается с фатальной проблемой во время запуска, он напишет сообщение с описанием проблемы либо в консоль, либо в файл ErrorLog перед выходом. Одним из наиболее распространенных сообщений об ошибках является " Unable
to bind to Port ... ". Это сообщение обычно вызвано:
- Попытка запустить сервер на привилегированном порту, когда вы не вошли в систему как пользователь root; или
- Попытка запустить сервер, когда есть другой экземпляр Apache или какой-либо другой веб-сервер, уже привязанный к тому же порту.
Дополнительные инструкции по устранению неполадок см. в FAQ по Apache.
Запуск во время загрузки
Если вы хотите, чтобы ваш сервер продолжал работать после перезагрузки системы, вы должны добавить вызов к apache2ctl файлам запуска вашей системы (обычно rc.local или к файлу в rc.N каталоге). Это запустит Apache как root. Перед этим убедитесь, что ваш сервер правильно настроен для безопасности и ограничений доступа.
Сценарий apache2ctl разработан так, чтобы действовать как стандартный сценарий инициализации SysV; он может принимать аргументы
start , restart и stop
переводить их в соответствующие сигналы для
httpd . Таким образом, вы часто можете просто создать ссылку
apache2ctl на соответствующий каталог инициализации. Но не забудьте проверить точные требования вашей системы.
Дополнительная информация
Дополнительная информация о параметрах командной строки httpd и apache2ctl других программах поддержки, входящих в состав сервера, доступна на странице Сервер и вспомогательные программы. Также есть документация по всем модулям, включенным в дистрибутив Apache, и директивам, которые они предоставляют.