Apache Модуль mod_systemd
| Описание: | Обеспечивает лучшую поддержку интеграции с systemd |
|---|---|
| Статус: | Расширение |
| Идентификатор модуля: | systemd_module |
| Файл источника: | mod_systemd.c |
| Совместимость: | Доступно в Apache 2.4.42 и более поздних версиях |
Резюме
Этот модуль предоставляет поддержку интеграции с systemd. Он позволяет использовать httpd в службе с помощью systemd Type=notify (см. systemd.service(5) для получения дополнительной информации). Модуль активируется при загрузке.
Пример единицы службы systemd (вероятно, потребуются дополнительные настройки для систем производства)
[Unit] Description=The Apache HTTP Server After=network.target [Service] Type=notify ExecStart=/usr/local/apache2/bin/httpd -D FOREGROUND -k start ExecReload=/usr/local/apache2/bin/httpd -k graceful KillMode=mixed [Install] WantedBy=multi-user.target
Особое внимание следует уделить тому, как ExecStop и/или KillMode настроены для службы. При настройке команда ExecStop должна быть синхронной операцией, которая сама завершается, когда демон завершился. Выполнение httpd -k stop асинхронно запускает завершение демона, поэтому не удовлетворяет этому условию. В примере выше используется KillMode=mixed, чтобы systemd отправлял SIGTERM для сигнализации родительскому процессу (и только родительскому) о необходимости завершения. Затем вся группа процессов получает SIGKILL после истечения TimeoutStopSec, если какие-либо процессы всё ещё работают. См. systemd.kill(5) для получения дополнительной информации.
Этот модуль не предоставляет поддержку активации сокетов Systemd.
ExtendedStatus включен по умолчанию, если модуль загружен. Если ExtendedStatus не отключен в конфигурации, статистические данные о загрузке и запросах во время выполнения отображаются в выводе systemctl status.
© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_systemd.html