Systemdを導入したDebian 8を使い始めました。私はSysVとsystemdに関する政治には興味がありませんが、特にApache(2.4)に関しては混乱しています。
Apacheを再起動する方法は2つあります。
Apache2ctl restart
またはApache2ctl graceful
systemctl restart Apache2
そしてsystemctl restart Apache2.service
も同じことをしているようです。そして、彼らは異なることをしているように見えます(!)。違いがわかりません。
適切に完全に再起動するには、両方を実行する必要があるようです。例えばphpモジュールの設定ファイルを変更した後、両方の後にのみ変更が記録されました。
Apache2ctl configtest
が失敗し、その失敗がsystemctl status Apache2
で報告された別のときに、これらのコマンドの最初が満足できるように構成を修正し、Apache2ctl restart
で再起動しましたが、systemd statusコマンドはまだそれをリストしました実行されておらず、古い設定の問題があるため。
私はいつかsystemd(RTFM)について深く読んでいくことを約束しますが、一方でApacheに関連する実用的なレベルでは、助言をいただければ幸いです。
一貫性が必要な場合は、systemctl
、stop
、start
には常にrestart
を使用してください。これはApache2ctl
プログラムを使用することになります-今のところ/etc/init.d/Apache2
スクリプトを介しますが、おそらくネイティブのsystemd
ユニットファイルから将来的には。
systemd
は、いつApache2ctl
を直接使用したかを認識しません。実際に問題なく実行されているのに、systemd
がApache2
をまだ障害のある状態であると考える状況で(おそらく、ご存じのように)発生する可能性があります。
configtest
およびstatus
には、Apache2ctl
を使用します。状態を変更せずにApacheにクエリを送信します。