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
输出中将提供运行时负载和请求统计信息。