Ferma Apache con garbo


24

Esiste un modo per fermare il server Apache senza terminare le richieste di esecuzione, in pratica un modo per dire che - non accettare più connessioni e spegnere quando rifinite le vostre quelli attuali?

Risposte:



12

Utilizzare apachectl -k graceful-stopda qui :

Il segnale WINCH o Graceful Stop fa sì che il processo genitore informi i bambini di uscire dopo la loro richiesta corrente (o di uscire immediatamente se non stanno servendo nulla). Il genitore rimuoverà quindi il suo file Pid e cesserà l'ascolto su tutte le porte. Il genitore continuerà a funzionare e monitorerà i figli che gestiscono le richieste. Una volta che tutti i bambini sono stati finalizzati ed è uscito o è stato raggiunto il timeout specificato da GracefulShutdownTimeout, anche il genitore uscirà.


1

Tieni presente che sys-v init era solito eseguire un arresto grazioso per impostazione predefinita e aveva l'opzione di arresto forzato come opzione aggiuntiva. Un'opzione "speciale" per arrestare con grazia è necessaria solo se si esegue un gestore processi personalizzato che normalmente uccide i processi.


Questa risposta potrebbe dare l'impressione che, poiché systemdnon è un gestore di processi personalizzato, non uccide il processo. Tuttavia, di default systemd esegue anche un stopnon a graceful-stopper apache.
B. Miller,

4
@ B.Miller se il tuo sistema esegue un arresto anziché un arresto grazioso, si tratta di un bug specifico del sistema operativo che deve essere registrato. Arch Linux e CentOS 7 eseguono entrambi arresti aggraziati.
Harald,

Anche Debian si ferma con grazia
John Keates

2
Interessante @JohnKeates ... forse questo è Ubuntu 18.04 specifico. 18.04 usa il comando stop/usr/sbin/apachectl stop
B. Miller
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.