Apache 和 systemd

Apache 和 systemd

我刚刚开始使用 Debian 8,它引入了 systemd。我对 SysV 与 systemd 之间的政治不感兴趣,但我很困惑,尤其是 Apache (2.4)。

现在有两种方法可以重启apache:

  1. apache2ctl restart或者apache2ctl graceful
  2. systemctl restart apache2它似乎systemctl restart apache2.service做了同样的事情。

他们似乎做不同的事情(!)。我不明白其中的区别。

我似乎需要同时执行这两件事才能正确完全重新启动工作。例如,在更改 php 模块的配置文件后,它只注意到两者之后的更改。

另一次apache2ctl configtest失败,并且在systemctl status apache2我修复了配置中报告了失败,以便这些命令中的第一个命令很高兴,重新启动,apache2ctl restart但 systemd status 命令仍然将其列为未运行并存在旧的配置问题。

我保证在某个时候会花很长时间深入阅读 systemd (RTFM),但同时在与 apache 相关的实际层面上,我很感激建议。

答案1

如果您想要一致性,请始终使用systemctlfor stopstartrestart。最终使用该apache2ctl程序 - 现在通过脚本,但将来/etc/init.d/apache2可能来自本机单元文件。systemd

systemd不会知道你什么时候apache2ctl直接使用过,可能会导致(正如你所发现的)一种情况,即当它实际上运行良好时,systemdthinks仍然处于错误状态。apache2

对于configteststatus,使用apache2ctl.他们只是查询 apache 而不改变它的状态。

相关内容