<-
Apache > HTTP сервер > Документация > Версия 2.2

Please note

This document refers to a legacy release (2.2) of Apache httpd. The active release (2.4) is documented here. If you have not already upgraded, please follow this link for more information.

You may follow this link to go to the current version of this document.

Запуск Apache

Доступные языки:  de  |  en  |  es  |  fr  |  ja  |  ko  |  ru  |  tr 

Этот перевод может быть устаревшим. Смотрите английскую версию для ознакомления со всеми последними изменениями в документе.

На Windows платформах Apache обычно работает как сервис Windows NT/2000/XP или как консольное приложение Windows 95/ME. Для получения более подробной информации по этому вопросу, обратитесь к документам, объясняющим работу Apache под Windows в качестве сервиса и работу Apache под Windows в качестве консольного приложения.

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

См. также

top

Что происходит в момент запуска Apache

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

Для запуска демона httpd лучше всего использовать скрипт apachectl. Этот скрипт устанавливает ряд переменных окружения, необходимых для правильной работы сервера под некоторыми операционными системами, а затем запускает исполняемый файл httpd. Скрипт apachectl передаст серверу любую командную строку, так что при вызове можно указывать в его командной строке все необходимые для сервера опции. Вы также можете вручную внести некоторые изменения в скрипт apachectl, в частности, изменив значение переменной HTTPD для запуска Apache из другого каталога, и указав опции, которые будут передаваться серверу каждый раз при его запуске.

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

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

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

top

Ошибки, которые могут возникнуть во время запуска

Если во время запуска Apache произойдет какая-либо фатальная ошибка, то перед тем, как завершить свою работу, сервер пошлет на консоль или в ErrorLog сообщение, описывающее данную ошибку. Наиболее распространенным сообщением об ошибке является "Unable to bind to Port ...". Подобная ошибка возникает в двух случаях:

Решение многих подобных проблем можно найти на странице FAQ.

top

Запуск сервера вместе с запуском всей системы

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

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

top

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

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

Доступные языки:  de  |  en  |  es  |  fr  |  ja  |  ko  |  ru  |  tr 

top

Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.