Различни начини за рестартиране на PHP-FPM ⋆ ALexHost SRL

Изпробвайте уменията си за всички наши хостинг услуги и получете 15% отстъпка!

Използвайте код на касата:

Skills
09.12.2024

Различни начини за рестартиране на PHP-FPM

PHP-FPM (PHP FastCGI Process Manager) е мощен и широко използван мениджър на процеси за PHP, който често е предпочитан заради скоростта си и способността си да се справя с уебсайтове с голям трафик. Знанието за рестартиране на PHP-FPM е от решаващо значение за разработчиците и системните администратори, особено при прилагане на промени в конфигурациите на PHP, решаване на проблеми или извършване на рутинна поддръжка. В тази статия ще разгледаме няколко метода за рестартиране на PHP-FPM на различни системи и в различни среди.

Защо да рестартирате PHP-FPM?

Преди да се запознаем с методите, нека обсъдим накратко защо може да се наложи рестартиране на PHP-FPM:

  1. Промени в конфигурацията: Ако промените настройките на PHP във файловете php.ini или php-fpm.conf, е необходимо рестартиране, за да влязат в сила промените.
  2. Оптимизиране на производителността: Рестартирането на PHP-FPM може да помогне за освобождаване на памет и ресурси, особено при сайтове с голям трафик.
  3. Разрешаване на грешки: Ако PHP-FPM се сблъска с проблеми или не реагира, рестартирането може да помогне за разрешаването на временни проблеми.
  4. Ротация на дневника: След завъртане на файловете с дневници за PHP-FPM може да се наложи рестартиране, за да се гарантира, че новите дневници се записват правилно.

Предварителни условия

Уверете се, че имате root достъп или необходимите привилегии за рестартиране на услугите на вашия сървър. В зависимост от вашата дистрибуция на Linux може да използвате различни команди като systemctl или service.

Метод 1: Използване на systemctl

В съвременните дистрибуции на Linux, като Ubuntu 16.04 и CentOS 7, systemctl е стандартният метод за управление на услуги, включително PHP-FPM. Ето как можете да рестартирате PHP-FPM с помощта на systemctl:

Рестартиране на PHP-FPM

sudo systemctl restart php-fpm

Тази команда ще рестартира услугата PHP-FPM, като приложи всички нови промени в конфигурацията.

Спиране и стартиране на PHP-FPM

Ако желаете по-голям контрол, можете да спрете и стартирате PHP-FPM ръчно:

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

Това може да е полезно, ако трябва да се уверите, че услугата е напълно спряна, преди да я стартирате отново.

Проверка на състоянието

За да се уверите, че PHP-FPM е рестартиран успешно, използвайте:

sudo systemctl status php-fpm

Това ще покаже състоянието на услугата PHP-FPM, включително дали тя е активна и всички скорошни съобщения в дневника.

Метод 2: Използване на командата service

Командата service обикновено се използва в по-стари дистрибуции на Linux или за обратна съвместимост. Ето как да рестартирате PHP-FPM с помощта на командата service:

sudo service php-fpm restart

Или да спрете и стартирате услугата поотделно:

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

Метод 3: Рестартиране на конкретни версии на PHP-FPM

Ако имате инсталирани няколко версии на PHP, трябва да посочите версията на PHP-FPM, която искате да рестартирате. Например, ако имате инсталиран PHP 7.4, използвайте следната команда:

sudo systemctl restart php7.4-fpm

Или с помощта на service:

sudo service php7.4-fpm restart

Този метод е особено полезен за среди, в които са необходими различни версии на PHP за различни приложения или уебсайтове.

Метод 4: Директно изпращане на сигнали към PHP-FPM

Можете директно да изпращате сигнали към PHP-FPM, за да презаредите конфигурациите, без да рестартирате услугата изцяло. Това е по-незабележим подход, който може да наруши в по-малка степен уеб трафика ви:

Презареждане на конфигурацията

За да презаредите конфигурацията на PHP-FPM, без да прекратявате съществуващите процеси, използвайте:

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

Заменете /run/php/php-fpm.pid с пътя до вашия действителен PID файл, ако той се различава. Този метод е полезен, когато искате да презаредите промените в конфигурацията, без да рестартирате всички процеси на PHP-FPM.

Постепенно рестартиране

Плавното рестартиране позволява на PHP-FPM да завърши обслужването на текущите заявки, преди да се рестартира:

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

Това е особено полезно в производствени среди, където искате да избегнете прекъсване на активни потребителски сесии.

Метод 5: Използване на pkill или killall

Ако се сблъсквате с проблеми с PHP-FPM и трябва да спрете принудително всички процеси, можете да използвате pkill или killall. Това е по-агресивен метод и трябва да се използва с повишено внимание:

sudo pkill php-fpm

Или:

sudo killall php-fpm

След като убиете процесите, трябва да стартирате PHP-FPM ръчно:

sudo systemctl start php-fpm

Метод 6: Използване на рестартиране на Nginx или Apache

В някои случаи рестартирането на уеб сървъра може косвено да рестартира PHP-FPM, ако той е тясно свързан с процеса на уеб сървъра. Ето как можете да направите това:

Nginx

sudo systemctl restart nginx

Apache

sudo systemctl restart apache2

Макар че този метод не се препоръчва за проблеми, свързани с PHP-FPM, той може да бъде полезен, ако извършвате поддръжка на целия си уеб стек.

Най-добри практики за рестартиране на PHP-FPM

  • Проверка на дневниците: Преди да рестартирате PHP-FPM, проверете дневниците на PHP-FPM за евентуални грешки или предупреждения. Това може да помогне за идентифициране на основни проблеми, които могат да бъдат разрешени без рестартиране.
  • Постепенни рестартирания в производството: Винаги предпочитайте плавно рестартиране в производствена среда, за да не прекъсвате работата на потребителите.
  • Наблюдавайте използването на ресурсите: Използвайте инструменти като top, htop или ps, за да наблюдавате процесите на PHP-FPM преди и след рестартиране, за да се уверите, че той работи според очакванията.

Заключение

Рестартирането на PHP-FPM е често срещана задача, с която всеки сървърен администратор или разработчик трябва да е запознат. Независимо дали използвате systemctl, service, изпращате сигнали или извършвате милостив рестарт, познаването на правилния метод за вашата ситуация може да осигури безпроблемна работа и минимални смущения в работата на вашите услуги. Като следвате най-добрите практики, можете да поддържате ефективна работа на PHP-FPM и да се справяте уверено с всички проблеми, които могат да възникнат.

Изпробвайте уменията си за всички наши хостинг услуги и получете 15% отстъпка!

Използвайте код на касата:

Skills