Пункт 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, и директивам, которые они предоставляют.