Apache と systemd

Apache と systemd

私は systemd を導入した Debian 8 を使い始めたばかりです。SysV と systemd をめぐる政治的論争には興味がありませんが、特に Apache (2.4) に関しては混乱しています。

Apache を再起動する方法は 2 つあります。

  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

一貫性が必要な場合は、常に、、を使用してください。systemctlこれにより、現時点ではスクリプト経由でプログラムが使用されることになりますが、将来的にはネイティブユニット ファイルから使用される可能性があります。stopstartrestartapache2ctl/etc/init.d/apache2systemd

systemd直接使用したかどうかはわかりません。その結果、実際には正常に動作しているにもかかわらず、まだ障害のある状態であると考えられるapache2ctl状況が発生する可能性があります (ご存じのとおり)。systemdapache2

configtestおよびにstatusは を使用しますapache2ctl。これらは、Apache の状態を変更せずに、Apache にクエリを実行するだけです。

関連情報