Могу ли я «перезагрузить» файл конфигурации Apache2 без проблем?


16

Является

sudo /etc/init.d/apache2 reload

прерывать операции на веб-серверах, размещенных на Apache?

Ответы:


19

Перезагрузка делает «Изящный перезапуск».

Из документации Apache Остановка и перезапуск :

Сигнал USR1 или изящный заставляет родительский процесс посоветовать детям выйти после их текущего запроса (или немедленно выйти, если они ничего не обслуживают). Родитель перечитывает свои файлы конфигурации и заново открывает файлы журналов. Когда каждый дочерний элемент умирает, родитель заменяет его дочерним элементом конфигурации нового поколения, который немедленно начинает обслуживать новые запросы.

Теоретически, никакие операции не будут прерваны, но будет волна перезапуска серверных процессов с некоторыми (обычно достаточно тривиальными) издержками.

В действительности задействовано больше переменных, например, используете ли вы prefork или worker, количество дочерних элементов, которые вы указали, а в случае worker - максимальное число потоков на каждого дочернего элемента.


1
Ok. Точнее, если мой клиент выполняет заказ в интернет-магазине на основе php. Если я перезагрузлю apache без перезапуска, у него будут проблемы? спасибо
aneuryzm

Опять же теоретически , до тех пор, пока заказ клиента обрабатывается одним вызовом php, и до тех пор, пока перезагрузка не является критичной для правильного функционирования серверов «старого поколения», все будет проходить изящно и хорошо. Но это достаточно легко проверить на практике.
Harrymc

Обратите внимание, что сценарии инициализации добавляются упаковщиком. Те, что для redhat / oracle linux apache v2.2 отправляют сигнал -HUP при вызове сервиса httpd reload . Для корректного перезапуска службы должен быть вызван httpd graceful , который вызывает / usr / sbin / apachectl graceful .
Давид Балажич
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.