为了确保我能够完全控制用于生产目的的 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
我该如何构建它?
这就是我所做的,我创建了文件 /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