Модуль Apache mod_systemd
| Описание: | Обеспечивает улучшенную поддержку интеграции с systemd |
|---|---|
| Статус: | Расширение |
| Идентификатор модуля: | systemd_module |
| Исходный файл: | mod_systemd.c |
| Совместимость: | Доступен в Apache 2.4.42 и более поздних версиях |
Краткое описание
Этот модуль обеспечивает поддержку интеграции с systemd. Он позволяет использовать httpd в службе с 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