Diferite moduri de a reporni PHP-FPM
PHP-FPM (PHP FastCGI Process Manager) este un manager de procese puternic și utilizat pe scară largă pentru PHP, adesea preferat pentru viteza și capacitatea sa de a gestiona site-uri cu trafic mare. Să știți cum să reporniți PHP-FPM este crucial pentru dezvoltatori și administratori de sistem, în special atunci când aplicați modificări la configurațiile PHP, rezolvați probleme sau efectuați întreținerea de rutină. În acest articol, vom explora mai multe metode de repornire a PHP-FPM pe diferite sisteme și în diferite medii.
De ce să reporniți PHP-FPM?
Înainte de a analiza metodele, să discutăm pe scurt de ce ar putea fi necesară repornirea PHP-FPM:
- Modificări de configurare: Dacă modificați setările PHP în fișierele php.ini sau php-fpm.conf, este necesară o repornire pentru ca modificările să aibă efect.
- Optimizarea performanței: Repornirea PHP-FPM poate ajuta la eliberarea memoriei și a resurselor, în special pe site-urile cu trafic mare.
- Rezolvarea erorilor: Dacă PHP-FPM întâmpină probleme sau nu răspunde, repornirea poate ajuta la rezolvarea problemelor temporare.
- Rotirea jurnalelor: După rotirea fișierelor jurnal pentru PHP-FPM, poate fi necesară o repornire pentru a se asigura că noile jurnale sunt scrise corect.
Condiții prealabile
Asigurați-vă că aveți acces root sau privilegiile necesare pentru a reporni serviciile de pe serverul dvs. În funcție de distribuția Linux, este posibil să utilizați diferite comenzi precum systemctl sau service.
Metoda 1: Utilizarea systemctl
Pe distribuțiile Linux moderne, cum ar fi Ubuntu 16.04 și CentOS 7, systemctl este metoda standard pentru gestionarea serviciilor, inclusiv PHP-FPM. Iată cum puteți reporni PHP-FPM utilizând systemctl:
Reporniți PHP-FPM
Această comandă va reporni serviciul PHP-FPM, aplicând orice modificări noi de configurare.
Oprirea și pornirea PHP-FPM
Dacă doriți mai mult control, puteți opri și porni PHP-FPM manual:
sudo systemctl start php-fpm
Acest lucru poate fi util dacă trebuie să vă asigurați că serviciul este oprit complet înainte de a-l porni din nou.
Verificarea stării
Pentru a vă asigura că PHP-FPM a repornit cu succes, utilizați:
Aceasta va afișa starea serviciului PHP-FPM, inclusiv dacă acesta este activ și orice mesaje de jurnal recente.
Metoda 2: Utilizarea comenzii service
Comanda service este frecvent utilizată pe distribuțiile Linux mai vechi sau pentru compatibilitate cu versiunile anterioare. Iată cum să reporniți PHP-FPM utilizând comanda service:
Sau, pentru a opri și porni serviciul separat:
sudo service php-fpm start
Metoda 3: Repornirea anumitor versiuni PHP-FPM
Dacă aveți mai multe versiuni PHP instalate, trebuie să specificați versiunea PHP-FPM pe care doriți să o reporniți. De exemplu, dacă aveți instalat PHP 7.4, utilizați următoarea comandă:
Sau cu service:
Această metodă este deosebit de utilă pentru mediile în care sunt necesare diferite versiuni PHP pentru diferite aplicații sau site-uri web.
Metoda 4: Trimiterea semnalelor direct către PHP-FPM
Puteți trimite direct semnale către PHP-FPM pentru a reîncărca configurațiile fără a reporni complet serviciul. Aceasta este o abordare mai subtilă care poate fi mai puțin perturbatoare pentru traficul web:
Reîncărcarea configurației
Pentru a reîncărca configurația PHP-FPM fără a termina procesele existente, utilizați:
Înlocuiți /run/php/php-fpm.pid cu calea către fișierul PID real, dacă acesta diferă. Această metodă este utilă atunci când doriți să reîncărcați modificările de configurare fără a reporni toate procesele PHP-FPM.
Repornire grațioasă
O repornire grațioasă permite PHP-FPM să finalizeze servirea cererilor în curs înainte de repornire:
Acest lucru este util mai ales în mediile de producție în care doriți să evitați întreruperea sesiunilor utilizatorilor activi.
Metoda 5: Utilizarea pkill sau killall
Dacă vă confruntați cu probleme cu PHP-FPM și trebuie să opriți forțat toate procesele, puteți utiliza pkill sau killall. Aceasta este o metodă mai agresivă și trebuie utilizată cu precauție:
Sau:
După uciderea proceselor, trebuie să porniți manual PHP-FPM:
Metoda 6: Utilizarea repornirii Nginx sau Apache
În unele cazuri, repornirea serverului dvs. web poate reporni indirect PHP-FPM dacă acesta este strâns cuplat cu procesul serverului web. Iată cum puteți face acest lucru:
Nginx
Apache
Deși această metodă nu este recomandată pentru problemele specifice PHP-FPM, ea poate fi utilă dacă efectuați întreținerea întregului pachet web.
Cele mai bune practici pentru repornirea PHP-FPM
- Verificați jurnalele: Înainte de repornire, verificați jurnalele PHP-FPM pentru orice erori sau avertismente. Acest lucru poate ajuta la identificarea problemelor subiacente care pot fi rezolvate fără o repornire.
- Reporniri grațioase în producție: Preferați întotdeauna o repornire grațioasă într-un mediu de producție pentru a evita perturbarea utilizatorilor.
- Monitorizați utilizarea resurselor: Utilizați instrumente precum top, htop sau ps pentru a monitoriza procesele PHP-FPM înainte și după o repornire pentru a vă asigura că acestea funcționează conform așteptărilor.
Concluzii
Repornirea PHP-FPM este o sarcină comună cu care fiecare administrator sau dezvoltator de servere ar trebui să fie familiarizat. Fie că utilizați systemctl, service, trimiteți semnale sau efectuați o repornire grațioasă, cunoașterea metodei potrivite pentru situația dumneavoastră poate asigura o performanță fără probleme și o întrerupere minimă a serviciilor dumneavoastră. Urmând cele mai bune practici, puteți menține funcționarea eficientă a PHP-FPM și puteți face față cu încredere oricăror probleme care pot apărea.