Frage Stoppen Sie Apache anmutig


Gibt es eine Möglichkeit, den Apache-Server zu stoppen, ohne die Ausführung von Anfragen zu beenden, im Grunde eine Möglichkeit, es zu sagen - keine weiteren Verbindungen mehr zu akzeptieren und herunterzufahren, wenn Sie Ihre aktuellen beenden?


22
2018-05-28 12:17


Ursprung




Antworten:


Ja.

apachectl -k graceful-stop

https://httpd.apache.org/docs/2.4/stopping.html


35
2018-05-28 12:22





Benutzen apachectl -k graceful-stop von Hier:

Der WINCH oder   Graceful-Stop-Signal veranlasst den Elternprozess, die Kinder zu beraten   um nach ihrer aktuellen Anfrage zu beenden (oder um sofort zu beenden, wenn sie es sind   nichts serviert). Das übergeordnete Element entfernt dann sein PidFile und   Hör auf alle Ports zu hören. Der Elternteil wird weiter laufen und   Überwachen Sie Kinder, die Anfragen bearbeiten. Sobald alle Kinder haben   finalisiert und beendet oder das von der   GracefulShutdownTimeout wurde erreicht, das übergeordnete Element wird ebenfalls beendet.


12
2018-05-28 12:23





Beachten Sie, dass sys-v init standardmäßig einen ordnungsgemäßen Stopp durchführt und Force-stop als zusätzliche Option verwendet. Eine "spezielle" Option zum ordnungsgemäßen Beenden ist nur erforderlich, wenn Sie einen benutzerdefinierten Prozessmanager ausführen, der normalerweise Prozesse beendet.


1
2018-05-29 17:59



Diese Antwort könnte den Eindruck vermitteln, weil systemd Ist kein benutzerdefinierter Prozessmanager, der Prozess wird nicht beendet. Standardmäßig führt Systemd jedoch auch a aus stop kein graceful-stop für Apache. - B. Miller
@ B.Miller, wenn dein Systemd einen Stopp statt eines graceful-stop ausführt, ist das ein OS-spezifischer Fehler, der protokolliert werden muss. Arch Linux und CentOS 7 führen beide anmutige Stops aus. - Harald
Debian macht auch einen anmutigen Stopp - John Keates
Interessante @JohnKeates ... vielleicht ist das Ubuntu 18.04 spezifisch. 18.04 verwendet den Befehl stop /usr/sbin/apachectl stop - B. Miller