Główna różnica między czterema różnymi sposobami zatrzymywania/restartowania polega na tym, co główny proces robi na wątkach i na sobie.
Zauważ, że Apache zaleca stosowanie apachectl -k
jako polecenia oraz Systemd komenda otrzymuje httpd -k
apachectl -k stop
lub httpd -k stop
Mówi to proces, aby zabić wszystkich jego wątków, a następnie wyjść
apachectl -k graceful
lub httpd -k graceful
Apache doradzi swoje wątki, aby wyjść na biegu jałowym, a następnie pache wczytuje konfigurację (nie kończy się sama), co oznacza, że statystyki nie są resetowane.
apachectl -k restart
lub httpd -k restart
Jest to podobne do zatrzymania, że proces zabija gwinty, a następnie proces ponownie ładuje plik konfiguracyjny zamiast zabijania się.
apachectl -k graceful-stop
lub httpd -k graceful-stop
To działa jak -k graceful
ale zamiast przeładowania konfiguracji, będzie przestać odpowiadać na nowe żądania i tylko żyć tak długo, jak stare wątki są wokół. Połączenie tego z nową instancją o numerze httpd
może być bardzo skuteczne przy jednoczesnym uruchomieniu apache podczas aktualizowania plików konfiguracyjnych.
Źródło: https://httpd.apache.org/docs/2.4/stopping.html
Zalecenie: Zastosowanie -k graceful
chyba coś jest nie tak z samego procesu głównego, w którym to przypadku połączenie -k stop
i -k start
lub -k graceful-stop
i -k start
są opcje do wyboru.
Proszę również rozważyć polecenie ponownego ładowania Apache2. Dzięki. –
'service apache2 reload' jest odpowiednikiem' -k graceful'. 'service apache2 restart' jest równoważne' -k stop', po którym następuje ponowne uruchomienie serwera. Przynajmniej w moim systemie; przeczytaj skrypt init.d w swojej dystrybucji, aby się upewnić. –