On this page
Apache 模块 mod_systemd
| Description: | 为 systemd 集成提供更好的支持 |
|---|---|
| Status: | Extension |
| Module Identifier: | systemd_module |
| Source File: | mod_systemd.c |
| Compatibility: | 在 Apache 2.4.42 及更高版本中可用 |
Summary
该模块为 systemd 集成提供支持。它允许在与 systemd Type=notify一起使用的服务中使用 httpd(有关更多信息,请参见systemd.service(5))。如果已加载,模块将被激活。
系统服务单元示例(生产系统可能需要更多设置)
[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来通知父进程(仅父进程)关闭。然后,如果仍在运行任何进程,则在TimeoutStopSec过去后将向整个进程组发送SIGKILL。有关更多信息,请参见systemd.kill(5)。
该模块不提供对 Systemd 套接字激活的支持。
如果模块已加载,则默认情况下启用ExtendedStatus。如果未在配置中禁用ExtendedStatus,则systemctl status输出中将提供运行时负载和请求统计信息。