Apache Версия 2.0 Сервера HTTP
эта остановка покрытий документа и перестартовый Apache на Подобных Unix системах. Windows NT, 2000 и пользователи XP должны видеть Running Apache as a Service и Windows 9x и Я пользователи должны видеть Running Apache as a Console Application для информации относительно того, как управлять Apache на тех платформах.
чтобы останавливать или повторно начать Apacheа, Вы должны послать сигнал управлению
httpd
процессы. Есть два способа послать сигналы. Сначала, Вы можете использовать unix
kill
командовать, чтобы непосредственно послать сигналы процессам. Вы заметите многих
httpd
executables, управляющий на вашей системе, но Вы не должны послать сигналы любому из них кроме родителя, чей изодромный с предварением находится в
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
параметры настройки.
apachectl -k stop
посылка
TERM
или
stop
сигнализировать к причинам родителя это, чтобы немедленно попытаться убить всех его детей. Может требоваться это несколько секунд, чтобы закончить убийство его детей. Тогда родитель непосредственно выходы. Любые запросы в продвижении закончены, и никаким дальнейшим запросам не служат.
apachectl -k graceful
USR1
или
graceful
сигнализировать вызывает родительский процесс к
сообщить
дети, чтобы выйти после их текущего запроса (или выходить немедленно, если они не служат ничему). Родитель перечитывает его файлы конфигурации и повторно открывает его файлы системного журнала. Поскольку каждый ребенок вымирает, родитель заменяет это ребенком от нового
поколение
из конфигурации, которая начинает служить новым запросам немедленно.
USR1
чтобы использоваться для изящного переначала, альтернативный сигнал может использоваться (, типа
WINCH
). Команда
apachectl graceful
пошлет правильный сигнал за вашей платформой.
этот кодекс разработан, чтобы всегда уважать директиву управления производственным процессом MPMs, таким образом число процессов и пронизывает доступный, чтобы служить, клиенты будут поддержаны по соответствующим ценностям в течение процесса переначала. Кроме того, это уважает
StartServers
в следующей манере: если после одной секунды по крайней мере
StartServers
новые дети не были созданы, затем создают достаточно, чтобы собрать слабое. Следовательно кодекс пробует поддержать оба число детей, соответствующих для текущего груза на сервере, и уважать ваши пожелания с
StartServers
параметр.
пользователи
mod_status
заметит, что статистические данные сервера
нет
набор к нолю, когда a
USR1
посылается. Кодекс был написан обоим, минимизируют время, в которое сервер является неспособным служить новым запросам (они будут стояться в очереди операционной системой, таким образом они не потеряны в любом случае) и уважать ваши настраивающие параметры. Чтобы сделать это, это должно держать
табло
используемый, чтобы держать след всех детей поперек поколений.
модуль статуса будет также использовать a
G
чтобы указывать тем детям, которые все еще служат запросам, начатым перед изящным переначалом, давали.
в настоящее время нет никакого пути для использования подлинника вращения регистрации
USR1
знать наверняка, что все дети, пишущие регистрацию предпереначала закончили. Мы предлагаем, чтобы Вы использовали подходящую задержку после посылки
USR1
сигнал прежде, чем Вы делаете что - нибудь со старой регистрацией. Например, если большинство ваших хитов занимает меньше чем 10 минут, чтобы закончить для пользователей на низких связях полосы пропускания тогда, Вы могли ждать за 15 минут до выполнения чего - нибудь со старой регистрацией.
-t
аргумент линии команды (см.
httpd
). Это все еще не будет гарантировать, что сервер повторно начнется правильно. Чтобы проверять семантику файлов конфигурации так же как синтаксиса, Вы можете пробовать начать
httpd
как пользователь некорня. Если не будет никаких ошибок, то это попытается открыть его гнезда и регистрации и терпеть неудачу, потому что это не корень (или потому что в настоящее время управление
httpd
уже связали те порты). Если это терпит неудачу по любой другой причине тогда, это - вероятно config ошибка файла, и ошибка должна быть установлена перед изданием изящного переначала.
apachectl -k restart
посылка
HUP
или
restart
сигнализировать к причинам родителя это, чтобы убить его детей как в
TERM
, но родитель не выходит. Это перечитывает его файлы конфигурации, и повторно открывает любые файлы системного журнала. Тогда это порождает новый набор детей и продолжает служить хитам.
пользователи
mod_status
заметит, что статистические данные сервера собираются ноль когда a
HUP
посылается.
до Apacheа 1.2b9 было несколько условия гонки вовлечение переначала и умирает сигналы (проще говоря, условие гонки - чувствительная ко времени проблема - если кое-что случится в только неправильное время, или вещи случаются в неправильном заказе, то нежеланное поведение закончится. Если та же самая вещь случится в нужное время, то все будут хорошо). Для той архитектуры, которая имеет "правильный" набор признаков, который мы устранили столько, сколько мы можем. Но должно быть отмечено, что условия гонки действительно все еще существуют на определенной архитектуре.
архитектура, которая использует на-диске
ScoreBoardFile
может потенциально развратить их табло. Это может привести, "свяжите: Адрес уже в использовании" (после того, как
HUP
) или "долго потерянный ребенок пришел домой!" (после того, как
USR1
). Прежний - фатальная ошибка, в то время как последние правые дела сервер, чтобы потерять щель табло. Таким образом может быть желательно использовать изящные перезапуски, со случайным твердым переначалом. Эти проблемы очень трудны работать вокруг, но к счастью большинство архитектуры не требует файла табло. См.
ScoreBoardFile
документация для архитектуры, которая использует это.
вся архитектура имеет маленькое условие гонки в каждом ребенке, вовлекающем вторые и последующие запросы на постоянной связи HTTP (KeepAlive). Это может выйти после чтения линии запроса, но перед чтением любого из ударов головой запроса. Есть устанавливание, которое, как обнаруживали, слишком поздно сделало 1.2. В теории это не проблема, потому что клиент KeepAlive должен ожидать эти события из-за сети latencies и перерывов сервера. Практически это, кажется, не затрагивает что - нибудь или - в испытательном случае, сервер был повторно начат, двадцать раз в секунду и клиентов успешно просматривали участок, не будучи сломанным изображения или пустые документы.