Różnice i techniki optymalizacji w pliku konfiguracyjnym PHP-FPM /etc/php/8.3/fpm/pool.d/

Czy wszystko jest w porządku po uruchomieniu serwera? Tak naprawdę, w świecie PHP-FPM, plik konfiguracyjny jest prawdziwym mózgiem, decydującym o tym, czy strona będzie działać stabilnie, bezpiecznie i wydajnie.

Jaka jest konfiguracja puli procesów dla PHP-FPM?

PHP-FPM (FastCGI Process Manager) to menedżer procesów dla PHP, który wykorzystuje koncepcję „pul” do zarządzania procesami PHP dla różnych stron internetowych lub aplikacji.

Każdy .conf Plik jest definicją puli, która określa kluczowe parametry, takie jak użytkownik, na którym uruchomiony jest proces, port lub gniazdo, na którym nasłuchuje, ścieżka dziennika i liczba procesów.

Innymi słowy, pliki te stanowią swego rodzaju „klony” Twojego serwera, dzięki którym różne strony mogą działać niezależnie, nie zakłócając się wzajemnie.

Różnice i techniki optymalizacji w pliku konfiguracyjnym PHP-FPM /etc/php/8.3/fpm/pool.d/

www.conf: Domyślna pula procesów

Po zainstalowaniu PHP-FPM system automatycznie wygeneruje www.conf plik.

Jej funkcją jest zapewnienie domyślnej puli, która działa od razu po instalacji, zazwyczaj uruchamiając się w... www-data Użytkownik.

Pula ta nadaje się do środowisk z jedną lokalizacją, jest łatwa do skonfigurowania, a większość parametrów to wartości ogólne, takie jak:

  • user = www-data
  • group = www-data
  • listen = /run/php/php8.3-fpm.sock
  • pm.max_children = 5

Jeśli działasz tylko na jednej stronie, to wystarczy.

etufo.org.conf: Niestandardowa pula witryn

Jeśli masz wiele witryn, musisz utworzyć osobną pulę dla każdej witryny.

Na przykład etufo.org.confDotyczy to w szczególności nazw domen. etufo. Org Ekskluzywna konfiguracja.

Powszechną praktyką jest:

  • Określ różnych użytkowników i grupy, na przykład user = etufo,group = etufo
  • Na przykład skonfiguruj oddzielny port lub gniazdo nasłuchujące listen = /run/php/etufo.sock
  • Dostosuj liczbę procesów, aby zapewnić stabilność witryny przy dużej współbieżności.
  • Niezależne pliki dziennika ułatwiają rozwiązywanie problemów.

Zaletą tego podejścia jest izolacja bezpieczeństwa: nawet jeśli jedna strona zostanie zaatakowana, inne strony nie będą nią dotknięte.

dummy.conf: Przykładowy plik lub plik zastępczy

dummy.conf Zazwyczaj są to szablony lub przykłady dostarczone przez system.

Opcja ta nie zostanie faktycznie włączona, dopóki nie zostanie ręcznie zmodyfikowana i włączona.

Jego celem jest dostarczenie Ci odniesienia i pokazanie, jak napisać nową konfigurację puli.

Dlatego też jest to raczej „instrukcja obsługi” niż konkretna konfiguracja działania.

Dlaczego warto używać wielu plików puli?

  • 安全 性Aby uniknąć nakładania się uprawnień, różne witryny powinny być prowadzone przez różnych użytkowników.
  • 性能优化Liczbę procesów można ustawić indywidualnie dla każdej puli i dostosować ją do zapotrzebowania na ruch.
  • IzolacjaDzienniki, dane wyjściowe błędów i porty nasłuchujące są oddzielone, co ułatwia rozwiązywanie problemów.

Na przykład, jeśli www.conf Zawaliło się.etufo.org.conf Nadal będzie mógł działać normalnie i nie spowoduje to awarii całego serwera.

Rzeczywiste scenariusze zastosowań

  • Serwer jednostanowiskowyUżywaj tylko www.conf Wystarczy.
  • Serwer wielostanowiskowy:Zbuduj jeden dla każdej witryny .conf Pliki takie jak etufo.org.conf.
  • dummy.confTylko w celach informacyjnych, niezalecane.

Przykład porównania konfiguracji

www.conf (pula domyślna)

[www]
user = www-data
group = www-data
listen = /run/php/php8.3-fpm.sock
pm = dynamic
pm.max_children = 5

etufo.org.conf (Pula niestandardowa)

[etufo.org]
user = etufo
group = etufo
listen = /run/php/etufo.sock
pm = dynamic
pm.max_children = 20
access.log = /var/log/php-fpm/etufo.access.log

Odkryjesz, że różnica leży w użytkowniku, adresie nasłuchującym i liczbie procesów.

Dostosowywanie parametrów puli procesów PHP-FPM

Jeśli konfiguracja wykorzystuje dynamicznyJest to metoda wstępnego uruchomienia niektórych procesów roboczych i dynamicznego dostosowywania ich do ilości żądań, co pozwala na szybszą reakcję w przypadku nagłego wzrostu ilości żądań.

W przypadku witryn o pewnym natężeniu ruchu zaleca się korzystanie z pm = dynamicPonieważ może utrzymać pewną liczbę bezczynnych procesów i uniknąć 500 błędów przy dużej współbieżności.

Zaleca się korzystanie z tej opcji wyłącznie w przypadku, gdy rozmiar dostępnej pamięci jest wyjątkowo niski i zasoby pamięci są ograniczone. pm = ondemand Aby oszczędzać zasoby.

Zaleca się zmianę na dynamiczny i optymalizację. pm.max_children I inne parametry:

pm = dynamic
pm.max_children = 16  ; 根据服务器资源调整,建议值:CPU 核心数 × 2
pm.start_servers = 4   ; 初始进程数,建议设为 max_children × 25%
pm.min_spare_servers = 2  ; 最小空闲进程数
pm.max_spare_servers = 7  ; 最大空闲进程数
pm.max_requests = 3000    ; 每个子进程处理完 3000 个请求后自动重启
pm.process_idle_timeout = 10s  ; 空闲进程 10s 后自动退出

Taka konfiguracja zapewnia wydajność przy jednoczesnym unikaniu marnotrawstwa zasobów.

Szczegółowe instrukcje konfiguracji znajdziesz w poniższym samouczku ▼

Zgodnie z oficjalną dokumentacją PHP:

„Każdą pulę można skonfigurować niezależnie, co pozwala na tworzenie różnych użytkowników, limitów i ustawień dla każdej aplikacji.”

Oświadczenie to wyraźnie wskazuje na znaczenie konfiguracji wielu puli: niezależność, elastyczność i możliwość kontrolowania.

Wnioski: Mój punkt widzenia

Konfiguracja serwera jest jak dyrygent w orkiestrze, który decyduje, jak grać na każdym instrumencie.

www.conf Jest to dyrygent domyślny, odpowiedni do występów solowych;etufo.org.conf To dyrygent skrojony na miarę konkretnej sceny; dummy.conf Jest to szkic partytury muzycznej, który ma przypomnieć, jak pisać nowe melodie.

W czasach, gdy kładziemy nacisk na bezpieczeństwo informacji i optymalizację wydajności, wiedza o tym, jak prawidłowo korzystać z plików konfiguracyjnych, jest kluczowa dla kontrolowania żywotności serwera.

Konfiguracja to nie tylko trywialny tekst; to dusza serwera.

Jeśli działaszWordPressW przypadku aplikacji obsługujących wiele lokalizacji zdecydowanie zalecamy natychmiastowe sprawdzenie i zoptymalizowanie plików puli, zwłaszcza ustawień parametrów puli procesów, aby zapewnić pełną niezawodność serwera.

发表 评论

Twój adres e-mail nie zostanie opublikowany. 必填 项 已 用 * 标注

Katalog artykułów
Przewiń do góry