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 而不改變它的狀態。

相關內容