Запуск и управление Apache
В операционной системе Windows управлять работой WEB-сервера Apache можно несколькими способами:
— с помощью утилиты Apache Service Monitor;
— с консоли управления служб Windows;
— используя пункты меню Пуск;
— используя командную строку.
Управление Apache с помощью утилиты Apache Service Monitor
Для запуска Web-сервера Apache c помощью утилиты Apache Service Monitor необходимо дважды щелкнуть на значке программы в системном трее. В открывшемся окне кнопками «Start«, «Stop» и «Restart» можно производить пуск, остановку и перезапуск WEB-сервера соответственно.
Управление Apache с консоли управления служб Windows
Если при установке сервера в качестве порта, по которому Apache принимает запросы, был выбран порт 80, допускается запуск Apache в качестве сервиса. Для запуска консоли управления выберите «Пуск» => «Панель управления» => «Администрирование» => «Службы» или нажмите кнопку «Services» в окне утилиты «Apache Service Monitor«. В окне консоли, следует выбрать сервис Apache2. Контекстное меню позволяет осуществлять запуск, остановку и перезапуск сервиса.
Службы Windows обеспечивают запуск фоновых приложений при старте системы. Для этого необходимо перейти в окно «Свойства«, выбрав в контекстном меню сервиса команду «Свойства«, и в окне из списка «Тип запуска» указать пункт «Авто«.
Управление Apache из меню Пуск
Осуществлять пуск, остановку и перезапуск сервера Apache можно из меню «Пуск«. Для этого следует перейти в меню «Пуск» => «Программы» => «Apache HTTP Server» => «Control Apache Server«. Здесь можно осуществить пуск, остановку и перезапуск сервера путем выбора пунктов «Start«, «Stop» и «Restart«.
Управление Apache из командной строки
Запускать, останавливать и перезапускать сервер Apache из командной строки можно с помощью следующих команд:
— старт: httpd — k start
— перезапуск: httpd — k restart
— стоп: httpd — k stop (httpd — k shutdown)
Все команды следует выполнять из каталога bin сервера Apache. Команда «httpd — t» позволяет проверить конфигурационные файлы Apache на предмет наличия синтаксических ошибок. В случае их отсутствия выдается строка «Syntax ОК«. Если же в конфигурационных файлах есть ошибки, то в результате тестирования программа выдаст сообщение об ошибке.
Если Вы следовали инструкциям, описанным в статье Установка Web-сервера Apache в среде Windows, тогда в командной строке (CMD) сначала нужно изменить каталог:
Как запустить Apache на Windows
Веб-сервер Apache – это служба, которая работает в фоне и у которой нет графического интерфейса. Эта служба устанавливается и запускается в командной строке.
Если вам нужен только веб-сервер без дополнительных модулей, то вы можете ограничиться базовой настройкой.
Настройка Apache на Windows
На самом деле, базовая настройка веб-сервера крайне проста – необходимо только правильно указать путь до папки, в которой помещены веб-сайты – этого будет достаточно для запуска веб-сервера.
Кстати, в конфигурационном файле уже прописаны значения многих параметров по умолчанию. К примеру, по умолчанию корневой директорией является c:/Apache24. Поэтому если папку Apache24 из скаченного архива вы разархивируете в корень диска C, то вы можете вообще без настройки запустить веб-сервер следующей командой:
И по адресу http://localhost увидите стандартную страницу веб-сервера, которая сообщает, что он работает:
Кстати, для открытия командной строки в Windows используйте сочетание клавиш Win+x и в открывшемся окне выберите Windows PowerShell (администратор).
Настройка веб-сервера выполняется посредством редактирования текстового файла, который размещён в папке Apache24\conf\ и называется httpd.conf.
Этот файл состоит из директив с определёнными значениями. Эти директивы регулируют поведение веб-сервера. Но больше чем директив в этом файле комментариев – они начинаются с решётки (#) – комментарии нужны для человека, который настраивает веб-сервер. Сам сервер строки начинающиеся с # просто игнорирует. Т.е. вы можете просто удалить их.
Этот файл содержит не все возможные директивы – многие из них здесь отсутствуют, поскольку не требуются для большинства задач. Даже в этой заметки мы рассмотрим не все доступные в файле настройки – если описание чего-то пропущено, значит просто не нужно это трогать.
Как уже было сказано, важно установить путь до папки с веб-сайтами. Если она установлена неправильно (например, отсутствует на компьютере), то веб-сервер не запуститься.
Думаю, вы уже обратили внимание, что веб-сервер отличается от других программ для Windows. Если вы знакомы с Linux или другими аналогичными операционными системами, вам должна быть знакома работа в консоли и редактирование текстовых файлов. Пути до файлов тоже записываются не совсем обычно для Windows. Сейчас главное уяснить два правила:
- используйте абсолютные пути до файла (которые начинаются с буквы диска, затем следуют все вложенные папки), а не относительные – у сервера свои правила интерпретации относительных путей, поэтому вы можете не понять друг друга;
- всегда используйте прямые слеши, а не обратные (т.е., «c:/apache» вместо «c:\apache»).
Итак, откройте файл Apache24\conf\httpd.conf любым текстовым редактором (хоть Блокнотом) и вот мы уже готовы к настройке веб-сервера.
Первой идёт директива ServerRoot – это верхняя директория дерева, в которой хранятся файлы конфигурации сервера и журналов. Не добавляйте слэш на конец пути папки.
Значение по умолчанию устанавливается двумя директивами:
Первая директива присваивает значение переменной SRVROOT, которое по умолчанию «c:/Apache24». Вторая директива присваивает значение переменной $ настройке ServerRoot.
ServerRoot — это та папка, в которой находятся все файлы веб-сервера – поменяйте значение на то, куда вы распаковали файлы веб-сервера. Это можно сделать используя конструкцию из двух переменных:
Либо если вы не планируете снова использовать переменную $
Директива Listen позволяет вам привязать Apache к определённому IP адресу и/или порту. Значение по умолчанию:
Оно означает, прослушивать 80 порт на любом IP адресе (т.е. любом сетевом интерфейсе), доступном в вашей системе. Вы можете указать конкретный IP адрес, который нужно прослушивать и, следовательно, на запросы с которого отвечать:
Можно указать несколько портов:
Или несколько IP и портов:
Вы можете использовать любые сочетания, главное правило – порт на указанном интерфейсе (IP) не должен быть занят другой программой.
Значение по умолчанию вполне подходит для локального веб-сервера – т.е. здесь можно просто ничего не менять.
Далее идёт большой список модулей. Некоторые их них отключены (строки закомментированы, т.е. начинаются с #), а некоторые включены.
На самом деле, всё действительно необходимое уже включено – и для работы большинства веб-сайтов менять ничего не нужно – особенно на локальном веб-сервере. Но есть одно исключение – модуль mod_rewrite по умолчанию отключён. Это очень популярный модуль, например, все ЧПУ (понятные для человека адреса страниц) делаются с помощью него. Вы можете его включить, для этого достаточно найти строку:
и раскомментировать её, т.е. заменить на:
Директива ServerAdmin содержит e-mail администратора, этот адрес электронной почты пишется на некоторых страницах веб-сервера, которые автоматически генерируются в случае возникновения ошибок. Подразумеваются, что по этому адресу можно связаться с администратором.
Директива ServerName – это то, как сервер сам себя идентифицирует (называет). Для локального веб-сервера поменяйте строку
запрещает доступ к файловой системе веб-сервера (пока это не разрешено явно) и запрещает использовать файлы .htaccess (пока это не разрешено явно).
Далее идёт довольно объёмная конструкция, но если удалить из неё комментарии, то получается следующее:
DocumentRoot – это директория, где по умолчанию находятся сайты. По умолчанию именно там ищутся все пришедшие на веб-сервер запросы. Укажите здесь путь до корневой папки в веб-документами. Конечный слэш писать не нужно.
Конструкция … нам уже встречалась. Но здесь указывается конкретная папка, для который делаются настройки. Эти настройки перезаписывают общие, которые указаны ранее.
Пути до папок в DocumentRoot и Directory не забудьте поменять на свои!
Обратите внимание, что для установки настроек вновь используется переменная $ , значение которой было присвоено в самом начале. Если использовать синтаксис с $ , то корневая папка документов должна обязательно находится в корневой папке сервера. Я настраиваю сервер по-другому — у меня исполнимые файлы отделены от файлов сайтов, поэтому вместо переменной, можно просто прописать пути до нужной папки с сайтами:
Директива Options включает разные опции. По умолчанию указаны опции Indexes и FollowSymLinks. Первая (Indexes) означает показывать индексные файлы, если запрос не содержит имени файла. Допустим, пользователь открывает адрес http://localhost/site/, то если в этой папке есть индексный файл (например, index.html или index.php), то будет показан этот файл. Понятно, что если сделан запрос на определённый файл, например, http://localhost/site/page.html, то будет показана запрошенная страница.
Вторая опция (FollowSymLinks) означает следовать символьным ссылкам. Это что-то вроде ярлыков в Windows. В Linux с помощью таких ссылок можно собрать в одном сайте файлы, размещённые в различных папках файловой системы. На самом деле, для начинающих администраторов сервера это не очень нужно.
Директива AllowOverride установлена на None, это означает запрет использовать файлы .htaccess. На своём сервере я разрешаю файлы .htaccess (нужны для mod_rewrite, ограничения доступа), поэтому я заменяю её значение на All, получается так:
А директива Require all granted открывает посетителям доступ для веб-документов.
Я уже упомянул индексные файлы, перечень индексных файлов устанавливается конструкцией:
Там всего один файл — index.html. Можно дописать любое количество своих собственных. Я меняю:
Другие настройки обычно не требуется менять для локального веб-сервера.
пУФБОПЧ Й РЕТЕЪБРХУЛ
ьФПФ ДПЛХНЕОФ ТБУУНБФТЙЧБЕФ ЧПРТПУЩ ПУФБОПЧЛЙ Й РЕТЕЪБРХУЛБ Apache ОБ Unix-РПДПВОЩИ УЙУФЕНБИ. рПМШЪПЧБФЕМСН Windows NT, 2000 Й XP УМЕДХЕФ ЮЙФБФШ ТБЪДЕМ «тБВПФБ Apache ЛБЛ УЕТЧЙУБ», Б РПМШЪПЧБФЕМСН Windows 9x Й ME — «тБВПФБ Apache ЛБЛ ЛПОУПМШОПЗП РТЙМПЦЕОЙС», ДМС РПМХЮЕОЙС ЙОЖПТНБГЙЙ ПВ ХРТБЧМЕОЙЙ УЕТЧЕТПН ОБ ЬФЙИ РМБФЖПТНБИ.
чЧЕДЕОЙЕ
оЕНЕДМЕООБС ПУФБОПЧЛБ
нСЗЛЙК РЕТЕЪБРХУЛ
оЕНЕДМЕООЩК РЕТЕЪБРХУЛ
рТЙМПЦЕОЙЕ: УЙЗОБМЩ Й УЙФХБГЙЙ ЗПОЛЙ (race conditions)
уН. ФБЛЦЕ
чЧЕДЕОЙЕ
дМС ФПЗП, ЮФПВЩ ПУФБОПЧЙФШ ЙМЙ РЕТЕЪБРХУФЙФШ Apache, ОЕПВИПДЙНП РПУМБФШ УЙЗОБМ ЪБРХЭЕООЩН РТПГЕУУБН httpd . уХЭЕУФЧХЕФ ДЧБ УРПУПВБ ПФРТБЧЙФШ РПДПВОЩЕ УЙЗОБМЩ. чП-РЕТЧЩИ, ЧЩ НПЦЕФЕ РПУМБФШ УЙЗОБМЩ ОЕРПУТЕДУФЧЕООП РТПГЕУУБН, ЙУРПМШЪХС ЛПНБОДХ unix kill . пВТБФЙФЕ ЧОЙНБОЙЕ, ЮФП РТПГЕУУПЧ httpd Ч УЙУФЕНЕ ЧЩРПМОСЕФУС ОЕУЛПМШЛП, ПДОБЛП ЧЩ ОЕ ДПМЦОЩ ПФУЩМБФШ УЙЗОБМЩ ОЙ ПДОПНХ ЙЪ ОЙИ, ЛТПНЕ ТПДЙФЕМШУЛПЗП — ЕЗП pid (ЙДЕОФЙЖЙЛБФПТ РТПГЕУУБ) ЪБРЙУЩЧБЕФУС Ч ЖБКМ, РХФШ Л ЛПФПТПНХ ЪБДБЕФУС ДЙТЕЛФЙЧПК PidFile . уХЭЕУФЧХАФ ФТЙ УЙЗОБМБ, ЛПФПТЩЕ ЧЩ НПЦЕФЕ ПФРТБЧЙФШ ТПДЙФЕМШУЛПНХ РТПГЕУУХ: TERM , HUP , Й USR1 — ЙИ ЪОБЮЕОЙЕ ВХДЕФ ПВЯСУОЕОП ОЙЦЕ.
юФПВЩ ПФРТБЧЙФШ УЙЗОБМ ТПДЙФЕМШУЛПНХ РТПГЕУУХ, ЧБН УМЕДХЕФ ОБВТБФШ УМЕДХАЭХА ЛПНБОДХ:
kill -TERM `cat /usr/local/apache2/logs/httpd.pid`
чФПТПК УРПУПВ РЕТЕДБФШ УЙЗОБМЩ РТПГЕУУБН httpd — ЬФП ЙУРПМШЪПЧБОЙЕ ПРГЙЙ -k Ч ЛПНБОДОПК УФТПЛЕ У БТЗХНЕОФБНЙ: stop , restart Й graceful , ЛБЛ ВХДЕФ ПРЙУБОП ОЙЦЕ. ьФП РБТБНЕФТЩ ЛПНБОДОПК УФТПЛЙ ДМС ЙУРПМОСЕНПЗП ЖБКМБ httpd , ПДОБЛП НЩ ТЕЛПНЕОДХЕН РЕТЕДБЧБФШ ЙИ, ЙУРПМШЪХС УЛТЙРФ apachectl , ЛПФПТЩК РЕТЕДБУФ ЬФЙ РБТБНЕФТЩ РТПЗТБННЕ httpd .
рПУМЕ ФПЗП, ЛБЛ ВХДХФ ПФРТБЧМЕОЩ УЙЗОБМЩ РТПГЕУУХ httpd , ЧЩ НПЦЕФЕ ХЪОБФШ П УПУФПСОЙЙ УЕТЧЕТБ, ОБВТБЧ:
tail -f /usr/local/apache2/logs/error_log
чОЕУЙФЕ ОЕПВИПДЙНЩЕ ЙЪНЕОЕОЙС Ч ЬФЙ РТЙНЕТЩ У ХЮЈФПН ЪОБЮЕОЙС ДЙТЕЛФЙЧ ServerRoot Й PidFile Ч ЛПОЖЙЗХТБГЙЙ Apache.
оЕНЕДМЕООБС ПУФБОПЧЛБ
рПУМЕ РПМХЮЕОЙС УЙЗОБМБ TERM ЙМЙ stop , ТПДЙФЕМШУЛЙК РТПГЕУУ РЩФБЕФУС ОЕНЕДМЕООП ХОЙЮФПЦЙФШ ЧУЕ ДПЮЕТОЙЕ РТПГЕУУЩ. ьФП НПЦЕФ ЪБОСФШ ОЕУЛПМШЛП УЕЛХОД. ъБФЕН ТПДЙФЕМШУЛЙК РТПГЕУУ УБН ЪБЧЕТЫБЕФ ТБВПФХ, РТЙ ЬФПН ЧУЕ ФЕЛХЭЙЕ ЪБРТПУЩ РТЕЛТБЭБАФ ПВТБВБФЩЧБФШУС, Б ОПЧЩЕ ЪБРТПУЩ ЙЗОПТЙТХАФУС.
нСЗЛЙК РЕТЕЪБРХУЛ
рТЙ РПМХЮЕОЙЙ УЙЗОБМБ USR1 ЙМЙ graceful , ТПДЙФЕМШУЛЙК РТПГЕУУ РТЙЪЩЧБЕФ ДПЮЕТОЙЕ РТПГЕУУЩ Л ЪБЧЕТЫЕОЙА ТБВПФЩ УТБЪХ ЦЕ РПУМЕ ПВТБВПФЛЙ УЧПЕЗП ФЕЛХЭЕЗП ЪБРТПУБ (ЙМЙ Л ОЕЪБНЕДМЙФЕМШОПК ПУФБОПЧЛЕ, ЕУМЙ ДПЮЕТОЙК РТПГЕУУ ОЙЮЕЗП ОЕ ПВТБВБФЩЧБЕФ). тПДЙФЕМШУЛЙК РТПГЕУУ РЕТЕЮЙФЩЧБЕФ ЛПОЖЙЗХТБГЙПООЩЕ ЖБКМЩ, ПФЛТЩЧБЕФ ЪБОПЧП log-ЖБКМЩ (ЖБКМЩ, УПДЕТЦБЭЙЕ ЦХТОБМ ТБВПФЩ УЕТЧЕТБ). рПУМЕ ФПЗП, ЛБЛ ЛБЛПК-ФП ЙЪ ДПЮЕТОЙИ РТПГЕУУПЧ ЪБЧЕТЫБЕФ ТБВПФХ, ТПДЙФЕМШУЛЙК РТПГЕУУ ЪБНЕОСЕФ ЕЗП ДПЮЕТОЙН РТПГЕУУПН ОПЧПЗП РПЛПМЕОЙС, Ф.Е. У ОПЧПК ЛПОЖЙЗХТБГЙЕК, ЛПФПТЩК ОБЮЙОБЕФ ПВТБВБФЩЧБФШ ОПЧЩЕ ЪБРТПУЩ ОЕЪБНЕДМЙФЕМШОП.
рТПЗТБННБ ТБЪТБВПФБОБ ФБЛЙН ПВТБЪПН, ЮФП ЛПМЙЮЕУФЧП РТПГЕУУПЧ Й РПФПЛПЧ, ПРТЕДЕМЈООПЕ ДЙТЕЛФЙЧБНЙ нр-НПДХМС (НХМШФЙ-РТПГЕУУОПЗП НПДХМС), ПУФБЧБМПУШ ОЕЙЪНЕООЩН ОБ РТПФСЦЕОЙЕ ЧУЕЗП РТПГЕУУБ РЕТЕЪБРХУЛБ. лТПНЕ ФПЗП, ДМС РПДДЕТЦБОЙС ЮЙУМБ ЪБРХЭЕООЩИ РТПГЕУУПЧ, ПРТЕДЕМЈООПЗП ДЙТЕЛФЙЧПК StartServers , ЙУРПМШЪХЕФУС УМЕДХАЭЙК УРПУПВ: ЕУМЙ УРХУФС ПДОХ УЕЛХОДХ ОЕ ВЩМП УПЪДБОП РП ЛТБКОЕК НЕТЕ ФБЛПЕ ЛПМЙЮЕУФЧП ДПЮЕТОЙИ РТПГЕУУПЧ, ЛБЛПЕ ПРТЕДЕМЕОП ДЙТЕЛФЙЧПК StartServers , ФПЗДБ УПЪДБЈФУС ФБЛПЕ ЛПМЙЮЕУФЧП ДПЮЕТОЙИ РТПГЕУУПЧ, ЛПФПТПЕ РПМОПУФША ЧПУРПМОЙМП ВЩ ОЕДПУФБФПЛ. фБЛЙН ПВТБЪПН УЕТЧЕТ РЩФБЕФУС ПДОПЧТЕНЕООП Й УПИТБОЙФШ ЛПМЙЮЕУФЧП ХЦЕ УХЭЕУФЧХАЭЙИ ДПЮЕТОЙИ РТПГЕУУПЧ ОЕЙЪНЕООЩН, Й ХЮЕУФШ ЧБЫЙ ФТЕВПЧБОЙС, ХЛБЪБООЩЕ Ч ДЙТЕЛФЙЧЕ StartServers .
рПМШЪПЧБФЕМЙ, ЙУРПМШЪХАЭЙЕ НПДХМШ mod_status , НПЗХФ ПВТБФЙФШ ЧОЙНБОЙЕ, ЮФП УФБФЙУФЙЛБ УЕТЧЕТБ РТЙ РПМХЮЕОЙЙ УЙЗОБМБ USR1 ОЕ ПВОХМСЕФУС. фБЛ ВЩМП УДЕМБОП ДМС ФПЗП, ЮФПВЩ ХНЕОШЫЙФШ РТПНЕЦХФПЛ ЧТЕНЕОЙ, Ч ФЕЮЕОЙЕ ЛПФПТПЗП УЕТЧЕТ ОЕ НПЦЕФ ПВТБВБФЩЧБФШ ОПЧЩЕ ЪБРТПУЩ (ЛПФПТЩЕ ПРЕТБГЙПООБС УЙУФЕНБ ВХДЕФ УФБЧЙФШ Ч ПЮЕТЕДШ, Ф.Е. ПОЙ ОЕ РТПРБДХФ Ч МАВПН УМХЮБЕ), Б ФБЛЦЕ ДМС ФПЗП, ЮФПВЩ ХЮЙФЩЧБФШ ЧБЫЙ ОБУФТПКЛЙ. дМС ЬФПЗП УЕТЧЕТ ИТБОЙФ ФБВМЙГХ УФБФЙУФЙЛЙ, Ч ЛПФПТХА ЪБРЙУЩЧБАФУС ТЕЪХМШФБФЩ ТБВПФЩ ЧУЕИ ДПЮЕТОЙИ РТПГЕУУПЧ, ЧОЕ ЪБЧЙУЙНПУФЙ ПФ ЙИ РПЛПМЕОЙС.
нПДХМШ mod_status ФБЛЦЕ ЙУРПМШЪХЕФ УЙНЧПМ G , ЮФПВЩ ПВПЪОБЮЙФШ ФЕ ДПЮЕТОЙЕ РТПГЕУУЩ, ЛПФПТЩЕ ЧУЈ ЕЭЈ ПВТБВБФЩЧБАФ ЪБРТПУЩ Й ЛПФПТЩЕ ВЩМЙ УПЪДБОЩ ДП УЙЗОБМБ Л НСЗЛПНХ РЕТЕЪБРХУЛХ.
ч ОБУФПСЭЕЕ ЧТЕНС ОЕФ УРПУПВБ ПРТЕДЕМЙФШ, ЮФП ЧУЕ ДПЮЕТОЙЕ РТПГЕУУЩ ЪБЛПОЮЙМЙ ЪБРЙУШ Ч УФБТЩК log-ЖБКМ (Ф.Е. log-ЖБКМ, Ч ЛПФПТЩК РТПЙЪЧПДЙМБУШ ЪБРЙУШ ДП РЕТЕЪБРХУЛБ). нЩ РТЕДМБЗБЕН ЧБН РПДПЦДБФШ ОЕЛПФПТПЕ ЧТЕНС, РПУМЕ ФПЗП ЛБЛ ВХДЕФ РПУМБО УЙЗОБМ USR1 , РТЕЦДЕ ЮЕН ДЕМБФШ ЮФП-МЙВП УП УФБТЩН log-ЖБКМПН. оБРТЙНЕТ, ЕУМЙ ОБ ЧЩРПМОЕОЙЕ ЪБРТПУПЧ РПМШЪПЧБФЕМЕК, РПДЛМАЮЈООЩИ ЮЕТЕЪ ПЮЕОШ НЕДМЕООЩК ЛБОБМ, ХИПДЙФ ОЕ ВПМЕЕ 10 НЙОХФ, ФПЗДБ МПЗЙЮОП ВХДЕФ РПДПЦДБФШ 15 НЙОХФ, РТЕЦДЕ ЮЕН ДЕМБФШ ЮФП-МЙВП УП УФБТЩН log-ЖБКМПН.
оЕНЕДМЕООЩК РЕТЕЪБРХУЛ
пФРТБЧМЕООЩК ТПДЙФЕМШУЛПНХ РТПГЕУУХ УЙЗОБМ HUP ЙМЙ restart ЧЩЪЩЧБЕФ ОЕНЕДМЕООПЕ ХОЙЮФПЦЕОЙЕ ЧУЕИ ДПЮЕТОЙИ РТПГЕУУПЧ, ФБЛЦЕ ЛБЛ Й РТЙ ПВТБВПФЛЕ УЙЗОБМБ TERM , ПДОБЛП ТПДЙФЕМШУЛЙК РТПГЕУУ ОЕ ЪБЧЕТЫБЕФ ТБВПФХ. пО РЕТЕЮЙФЩЧБЕФ ЛПОЖЙЗХТБГЙПООЩЕ ЖБКМЩ Й ПФЛТЩЧБЕФ ЪБОПЧП log-ЖБКМЩ (ЖБКМЩ, УПДЕТЦБЭЙЕ ЦХТОБМ ТБВПФЩ УЕТЧЕТБ). ъБФЕН ПО РПТПЦДБЕФ ОПЧЩИ РПФПНЛПЧ Й РТПДПМЦБЕФ ПВТБВПФЛХ ЪБРТПУПЧ.
рПМШЪПЧБФЕМЙ, ЙУРПМШЪХАЭЙЕ НПДХМШ mod_status , НПЗХФ ПВТБФЙФШ ЧОЙНБОЙЕ, ЮФП УФБФЙУФЙЛБ УЕТЧЕТБ РТЙ РПМХЮЕОЙЙ УЙЗОБМБ HUP РПМОПУФША ПВОХМСЕФУС.
рТЙМПЦЕОЙЕ: УЙЗОБМЩ Й УЙФХБГЙЙ ЗПОЛЙ (race conditions)
ч Apache ДП ЧЕТУЙЙ 1.2b9 УХЭЕУФЧПЧБМП ОЕУЛПМШЛП УЙФХБГЙК ЗПОЛЙ, ЧПЪОЙЛБАЭЙИ РТЙ РПМХЮЕОЙЙ УЙЗОБМПЧ Л РЕТЕЪБРХУЛХ ЙМЙ ПУФБОПЧХ (РТПЭЕ ЗПЧПТС, УЙФХБГЙС ЗПОЛЙ — ЮХЧУФЧЙФЕМШОБС ЛП ЧТЕНЕОЙ РТПВМЕНБ, ЧПЪОЙЛБАЭБС, ЛПЗДБ ЮФП-ФП РТПЙУИПДЙФ Ч ОЕРПДИПДСЭЕЕ ЧТЕНС ЙМЙ Ч ОЕРТБЧЙМШОПН РПТСДЛЕ. еУМЙ ФП ЦЕ УБНПЕ РТПЙУИПДЙФ Ч РПДИПДСЭЕЕ ЧТЕНС, ОЙЛБЛЙИ РТПВМЕН ОЕ ЧПЪОЙЛБЕФ). дМС ЛПНРШАФЕТПЧ У БТИЙФЕЛФХТБНЙ, ЙНЕАЭЙНЙ «РТБЧЙМШОЩК», «ИПТПЫЙК» ОБВПТ ЧПЪНПЦОПУФЕК, РПДПВОЩЕ РТПВМЕНЩ ВЩМЙ ХУФТБОЕОЩ ЧЕЪДЕ, ЗДЕ ЬФП ЧПЪНПЦОП. пДОБЛП УМЕДХЕФ РПНОЙФШ, ЮФП ОБ ЛПНРШАФЕТБИ У ОЕЛПФПТЩНЙ БТИЙФЕЛФХТБНЙ ЧУЈ ЕЭЈ УХЭЕУФЧХЕФ ЧПЪНПЦОПУФШ ЧПЪОЙЛОПЧЕОЙС УЙФХБГЙК ЗПОЛЙ.
лПНРШАФЕТЩ У БТИЙФЕЛФХТБНЙ, ОБ ЛПФПТЩИ ФБВМЙГБ УФБФЙУФЙЛЙ ИТБОЙФУС Ч ЖБКМЕ, ЪБДБООПН ДЙТЕЛФЙЧПК ScoreBoardFile , ЙНЕАФ РПФЕОГЙБМШОХА ЧПЪНПЦОПУФШ РПЧТЕЦДЕОЙС ЙИ ФБВМЙГ УФБФЙУФЙЛЙ. ьФП НПЦЕФ ЧЩЪЧБФШ ПЫЙВЛХ «bind: Address already in use» (РПУМЕ УЙЗОБМБ HUP ) ЙМЙ «long lost child came home!» (РПУМЕ УЙЗОБМБ USR1 ). рПУМЕДОЕЕ УППВЭЕОЙЕ — ЖБФБМШОБС ПЫЙВЛБ, Ч ФП ЧТЕНС ЛБЛ РТЕДЩДХЭЕЕ УЙЗОБМЙЪЙТХЕФ ФПМШЛП П РПФЕТЕ УЧСЪЙ У ФБВМЙГЕК УФБФЙУФЙЛЙ. рПЬФПНХ НПЦОП РПТЕЛПНЕОДПЧБФШ ЙУРПМШЪПЧБФШ НСЗЛЙК РЕТЕЪБРХУЛ, Й МЙЫШ ЧТЕНС ПФ ЧТЕНЕОЙ ДЕМБФШ ЦЕУФЛЙК РЕТЕЪБРХУЛ. у ЬФЙНЙ РТПВМЕНБНЙ ПЮЕОШ УМПЦОП ВПТПФШУС, ПДОБЛП, Л УЮБУФША, ВПМШЫЙОУФЧП БТИЙФЕЛФХТ ОЕ ФТЕВХАФ ИТБОЙФШ ФБВМЙГХ УФБФЙУФЙЛЙ ОБ ДЙУЛЕ. уНПФТЙФЕ ДПЛХНЕОФБГЙА Л ДЙТЕЛФЙЧЕ ScoreBoardFile , ЮФПВЩ ХЪОБФШ, ОБ ЛБЛЙИ БТИЙФЕЛФХТБИ ЙУРПМШЪХЕФУС ЬФПФ ЖБКМ.
чП ЧУЕИ БТИЙФЕЛФХТБИ УХЭЕУФЧХАФ ОЕВПМШЫЙЕ УЙФХБГЙЙ ЗПОЛЙ Ч ЛБЦДПН ДПЮЕТОЕН РТПГЕУУЕ, ОБЮЙОБС УП ЧФПТПЗП ЪБРТПУБ РТЙ РПУФПСООПН HTTP УПЕДЙОЕОЙЙ (KeepAlive). рТПГЕУУ НПЦЕФ ЪБЧЕТЫЙФШУС РПУМЕ ЮФЕОЙС УФТПЛЙ ЪБРТПУБ, ОП РЕТЕД ЮФЕОЙЕН ЪБЗПМПЧЛПЧ ЪБРТПУБ. йУРТБЧМЕОЙЕ РПСЧЙМПУШ РПЪЦЕ ЧЩРХУЛБ ЧЕТУЙЙ 1.2, Б РПФПНХ ОЕ ЧЛМАЮЕОП Ч ОЕЗП. фЕПТЕФЙЮЕУЛЙ ЬФП ОЕ РТПВМЕНБ, РПФПНХ ЮФП KeepAlive-ЛМЙЕОФ ДПМЦЕО ПЦЙДБФШ ФБЛЙИ УПВЩФЙК ЙЪ-ЪБ ЪБДЕТЦЕЛ УЕФЙ Й ЧТЕНЕОЙ ПЦЙДБОЙС УЕТЧЕТБ. рТБЛФЙЮЕУЛЙ УЛМБДЩЧБЕФУС ЧРЕЮБФМЕОЙЕ, ЮФП ЬФП ФБЛЦЕ ОЕ ПЛБЪЩЧБЕФ ОЙЛБЛПЗП ЧМЙСОЙС — ЧП ЧТЕНС ФЕУФПЧ УЕТЧЕТ РЕТЕЪБРХУЛБМУС У ЮБУФПФПК 20 ТБЪ Ч УЕЛХОДХ, Б ЛМЙЕОФЩ ХУРЕЫОП РТПУНБФТЙЧБМЙ УБКФ, ОЕ РПМХЮБС РХУФЩИ ДПЛХНЕОФПЧ Й РПЧТЕЦДЈООЩИ ЛБТФЙОПЛ.
Copyright 2007 The Apache Software Foundation.
Licensed under the Apache License, Version 2.0.