Apache und systemd

Apache und systemd

Ich habe gerade angefangen, Debian 8 zu verwenden, in dem systemd eingeführt wurde. Ich interessiere mich nicht für die Politik rund um SysV vs. systemd, aber ich bin verwirrt, insbesondere in Bezug auf Apache (2.4).

Es gibt nun zwei Möglichkeiten, Apache neu zu starten:

  1. apache2ctl restartoderapache2ctl graceful
  2. systemctl restart apache2und es scheint, als systemctl restart apache2.serviceob es das Gleiche bewirkt.

Und sie scheinen unterschiedliche Dinge zu tun(!). Ich verstehe den Unterschied nicht.

Ich muss anscheinend beides tun, damit ein ordnungsgemäßer vollständiger Neustart funktioniert. Beispielsweise wurde nach dem Ändern einer Konfigurationsdatei für das PHP-Modul die Änderung erst nach beidem vermerkt.

Ein anderes Mal, als apache2ctl configtestein Fehler auftrat und der Fehler in gemeldet wurde, systemctl status apache2habe ich die Konfiguration so korrigiert, dass der erste dieser Befehle funktionierte, mit neu gestartet, apache2ctl restartaber der Befehl „systemd status“ hat es immer noch als nicht ausgeführt und mit dem alten Konfigurationsproblem aufgelistet.

Ich verspreche, dass ich irgendwann jede Menge Zeit damit verbringen werde, mich eingehend in systemd einzulesen (RTFM), aber in der Zwischenzeit wäre ich für Ratschläge auf praktischer Ebene in Bezug auf Apache dankbar.

Antwort1

Wenn Sie Konsistenz wünschen, verwenden Sie immer systemctlfor stop, start, und restart. Dadurch wird letztendlich das apache2ctlProgramm verwendet – derzeit über das Skript, zukünftig /etc/init.d/apache2aber wahrscheinlich über eine native Unit-Datei.systemd

systemdSie wissen nicht, wann Sie es apache2ctldirekt verwendet haben, was möglicherweise (wie Sie festgestellt haben) zu einer Situation führt, in der systemdsich das Programm apache2noch immer in einem fehlerhaften Zustand befindet, obwohl es eigentlich einwandfrei läuft.

Verwenden Sie für configtestund . Sie fragen Apache einfach ab, ohne seinen Status zu ändern.statusapache2ctl

verwandte Informationen