Różne sposoby ponownego uruchomienia PHP-FPM ⋆ ALexHost SRL

Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills
09.12.2024

Różne sposoby ponownego uruchomienia PHP-FPM

PHP-FPM (PHP FastCGI Process Manager) to potężny i szeroko stosowany menedżer procesów dla PHP, często preferowany ze względu na szybkość i zdolność do obsługi stron internetowych o dużym natężeniu ruchu. Wiedza o tym, jak zrestartować PHP-FPM jest kluczowa dla programistów i administratorów systemu, zwłaszcza podczas wprowadzania zmian w konfiguracji PHP, rozwiązywania problemów lub wykonywania rutynowej konserwacji. W tym artykule przeanalizujemy kilka metod ponownego uruchamiania PHP-FPM na różnych systemach i w różnych środowiskach.

Po co restartować PHP-FPM?

Zanim przejdziemy do metod, omówmy pokrótce dlaczego restart PHP-FPM może być konieczny:

  1. Zmiany w konfiguracji: Jeśli zmodyfikujesz ustawienia PHP w plikach php.ini lub php-fpm.conf, restart jest wymagany, aby zmiany zaczęły obowiązywać.
  2. Optymalizacja wydajności: Restart PHP-FPM może pomóc zwolnić pamięć i zasoby, szczególnie w przypadku witryn o dużym natężeniu ruchu.
  3. Rozwiązywanie błędów: Jeśli PHP-FPM napotka problemy lub przestanie odpowiadać, ponowne uruchomienie może pomóc w rozwiązaniu tymczasowych usterek.
  4. Rotacja logów: Po rotacji plików dziennika dla PHP-FPM może być konieczne ponowne uruchomienie, aby zapewnić prawidłowy zapis nowych dzienników.

Wymagania wstępne

Upewnij się, że masz dostęp root lub niezbędne uprawnienia do ponownego uruchomienia usług na serwerze. W zależności od dystrybucji Linuksa możesz użyć różnych poleceń, takich jak systemctl lub service.

Metoda 1: Korzystanie z systemctl

W nowoczesnych dystrybucjach Linuksa, takich jak Ubuntu 16.04 i CentOS 7, systemctl jest standardową metodą zarządzania usługami, w tym PHP-FPM. Oto jak zrestartować PHP-FPM za pomocą systemctl:

Restart PHP-FPM

sudo systemctl restart php-fpm

To polecenie spowoduje ponowne uruchomienie usługi PHP-FPM, stosując wszelkie nowe zmiany konfiguracji.

Zatrzymywanie i uruchamianie PHP-FPM

Jeśli chcesz mieć większą kontrolę, możesz zatrzymać i uruchomić PHP-FPM ręcznie:

sudo systemctl stop php-fpm
sudo systemctl start php-fpm

Może to być pomocne, jeśli chcesz upewnić się, że usługa została całkowicie zatrzymana przed jej ponownym uruchomieniem.

Sprawdź status

Aby upewnić się, że PHP-FPM został pomyślnie zrestartowany, użyj:

sudo systemctl status php-fpm

Spowoduje to wyświetlenie stanu usługi PHP-FPM, w tym tego, czy jest aktywna i wszelkich ostatnich komunikatów dziennika.

Metoda 2: Użycie polecenia service

Polecenie service jest powszechnie używane w starszych dystrybucjach Linuksa lub w celu zapewnienia kompatybilności wstecznej. Oto jak zrestartować PHP-FPM za pomocą service:

sudo service php-fpm restart

Lub, aby zatrzymać i uruchomić usługę oddzielnie:

sudo service php-fpm stop
sudo service php-fpm start

Metoda 3: Restartowanie określonych wersji PHP-FPM

Jeśli masz zainstalowanych wiele wersji PHP, musisz określić wersję PHP-FPM, którą chcesz ponownie uruchomić. Na przykład, jeśli masz zainstalowane PHP 7.4, użyj następującego polecenia:

sudo systemctl restart php7.4-fpm

Lub za pomocą usługi:

sudo service php7.4-fpm restart

Ta metoda jest szczególnie przydatna w środowiskach, w których wymagane są różne wersje PHP dla różnych aplikacji lub stron internetowych.

Metoda 4: Wysyłanie sygnałów bezpośrednio do PHP-FPM

Możesz bezpośrednio wysyłać sygnały do PHP-FPM w celu przeładowania konfiguracji bez pełnego restartu usługi. Jest to bardziej subtelne podejście, które może być mniej uciążliwe dla ruchu internetowego:

Reload Configuration

Aby przeładować konfigurację PHP-FPM bez kończenia istniejących procesów, użyj:

sudo kill -USR2 $(cat /run/php/php-fpm.pid)

Zastąp /run/php/php-fpm.pid ścieżką do rzeczywistego pliku PID, jeśli się różni. Ta metoda jest przydatna, gdy chcesz przeładować zmiany konfiguracji bez ponownego uruchamiania wszystkich procesów PHP-FPM.

Łaskawy restart

Łaskawy restart pozwala PHP-FPM zakończyć obsługę bieżących żądań przed ponownym uruchomieniem:

sudo kill -QUIT $(cat /run/php/php-fpm.pid)

Jest to szczególnie przydatne w środowiskach produkcyjnych, gdzie chcemy uniknąć przerywania aktywnych sesji użytkowników.

Metoda 5: Użycie pkill lub killall

Jeśli masz problemy z PHP-FPM i musisz siłą zatrzymać wszystkie procesy, możesz użyć pkill lub killall. Jest to bardziej agresywna metoda i powinna być używana ostrożnie:

sudo pkill php-fpm

Lub:

sudo killall php-fpm

Po zabiciu procesów należy ręcznie uruchomić PHP-FPM:

sudo systemctl start php-fpm

Metoda 6: Użycie restartu Nginx lub Apache

W niektórych przypadkach ponowne uruchomienie serwera WWW może pośrednio zrestartować PHP-FPM, jeśli jest on ściśle powiązany z procesem serwera WWW. Oto jak można to zrobić:

Nginx

sudo systemctl restart nginx

Apache

sudo systemctl restart apache2

Chociaż ta metoda nie jest zalecana w przypadku problemów specyficznych dla PHP-FPM, może być przydatna, jeśli przeprowadzasz konserwację całego stosu internetowego.

Najlepsze praktyki dotyczące restartowania PHP-FPM

  • Sprawdź logi: Przed ponownym uruchomieniem należy sprawdzić logi PHP-FPM pod kątem błędów lub ostrzeżeń. Może to pomóc zidentyfikować podstawowe problemy, które mogą zostać rozwiązane bez restartu.
  • Łaskawe restarty w produkcji: Zawsze preferuj łagodny restart w środowisku produkcyjnym, aby uniknąć zakłócania pracy użytkowników.
  • Monitorowanie wykorzystania zasobów: Użyj narzędzi takich jak top, htop lub ps do monitorowania procesów PHP-FPM przed i po restarcie, aby upewnić się, że działają zgodnie z oczekiwaniami.

Podsumowanie

Restartowanie PHP-FPM jest powszechnym zadaniem, z którym każdy administrator serwera lub programista powinien być zaznajomiony. Niezależnie od tego, czy używasz systemctl, service, wysyłasz sygnały, czy też wykonujesz łagodny restart, znajomość odpowiedniej metody dla danej sytuacji może zapewnić płynne działanie i minimalne zakłócenia w usługach. Postępując zgodnie z najlepszymi praktykami, możesz zapewnić wydajne działanie PHP-FPM i pewnie radzić sobie z wszelkimi problemami, które mogą się pojawić.

Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills