如何使用 systemd 支持编译 Apache httpd 2.4.16?

问题描述 投票:0回答:2

为了确保我能够完全控制用于生产目的的 Apache httpd 配置,我在 CentOS 7 上从源代码构建 httpd。

配置、制作和安装工作正常。 我正在使用:

./configure --with-mpm=prefork --with-mysql --prefix=/usr/local/apache2 --enable-so --enable-ssl --enable-rewrite

使用 apachectl 构建的 Web 服务器可以正常工作,但 CentOS 7 使用 systemd 而不是 upstart,因此使用 systemctl 需要我构建一个

httpd.service
并将其安装到
/lib/systemd/system

我该如何构建它?

apache systemd
2个回答
4
投票

这就是我所做的,我创建了文件 /etc/systemd/system/apache.service (这假设您的 apachectl 位于 /usr/apache/bin 中)如下:

[Unit]
Description=The Apache HTTP Server

[Service]
Type=forking
EnvironmentFile=/usr/apache/bin/envvars
PIDFile=/var/apache/httpd.pid
ExecStart=/usr/apache/bin/apachectl start
ExecReload=/usr/apache/bin/apachectl graceful
ExecStop=/usr/apache/bin/apachectl stop
KillSignal=SIGCONT
PrivateTmp=true


[Install]
WantedBy=multi-user.target

然后运行systemctl启用apache


0
投票

2.4.42 后,使用

--enable-systemd
进行编译并遵循文档中的 示例单元文件

© www.soinside.com 2019 - 2024. All rights reserved.