Разлики и техники за оптимизация в конфигурационния файл на PHP-FPM /etc/php/8.3/fpm/pool.d/

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

Каква е конфигурацията на пула процеси за PHP-FPM?

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

Всеки .conf Файлът е дефиниция на пул, която определя ключови параметри като потребителя, на когото се изпълнява процесът, порта или сокета, на който слуша, пътя на лога и броя на процесите.

С други думи, тези файлове са като „клонинги“ за вашия сървър, позволявайки на различни сайтове да работят независимо, без да си пречат един на друг.

Разлики и техники за оптимизация в конфигурационния файл на PHP-FPM /etc/php/8.3/fpm/pool.d/

www.conf: Пулът от процеси по подразбиране

След инсталиране на PHP-FPM, системата автоматично ще генерира www.conf файл.

Функцията му е да осигури пул по подразбиране, който работи веднага щом е инсталиран, обикновено работещ в... www-data Потребител.

Този пул е подходящ за среди с един обект, лесен е за конфигуриране и повечето параметри са общи стойности, като например:

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

Ако работите само на един сайт, това е достатъчно.

etUfo.org.conf: Персонализиран пул от сайтове

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

Например etufo.org.confТова е специално за имена на домейни. etUfo. Org Ексклузивна конфигурация.

Обичайната практика е:

  • Посочете различни потребители и групи, например user = etufo,group = etufo
  • Конфигурирайте отделен порт или сокет за слушане, например listen = /run/php/etufo.sock
  • Регулирайте броя на процесите, за да осигурите стабилност на сайта при висока паралелност.
  • Независимите лог файлове улесняват отстраняването на проблеми.

Предимството на този подход е изолацията на сигурността: дори ако един сайт бъде атакуван, другите сайтове няма да бъдат засегнати.

dummy.conf: Примерен или заместващ файл

dummy.conf Това обикновено са шаблони или примери, предоставени от системата.

Всъщност няма да бъде активирано, освен ако не го промените и активирате ръчно.

Целта му е да ви предостави справка и да ви покаже как да напишете нова конфигурация на пул.

Следователно, това е по-скоро като „ръководство за употреба“, отколкото като действителна конфигурация за работа.

Защо да използваме множество пул файлове?

  • 安全 性Различните сайтове трябва да се управляват от различни потребители, за да се избегне припокриване на разрешения.
  • 性能优化Броят на процесите може да се задава индивидуално за всеки пул и да се коригира според търсенето на трафик.
  • ИзолацияЖурналите, изходът за грешки и портовете за слушане са разделени, което улеснява отстраняването на неизправности.

Например, ако www.conf То се срути.etufo.org.conf Той все още може да работи нормално и няма да срине целия сървър.

Сценарии на приложения в реалния свят

  • Сървър с един сайтИзползвайте само www.conf Това е достатъчно.
  • Многосайтов сървърИзградете по един за всеки сайт .conf Файлове, като например etufo.org.conf.
  • dummy.confСамо за справка, не се препоръчва.

Пример за сравнение на конфигурации

www.conf (пул по подразбиране)

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

etufo.org.conf (Персонализиран пул)

[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

Ще откриете, че разликата се крие в потребителя, адреса за слушане и броя на процесите.

Настройване на параметрите на пула от процеси PHP-FPM

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

За уебсайтове с определено количество трафик се препоръчва използването pm = dynamicЗащото може да поддържа определено количество празни процеси и да избягва 500 грешки по време на висока паралелност.

Препоръчително е да се използва само когато обемът на достъп е изключително нисък и ресурсите на паметта са ограничени. pm = ondemand За да се спестят ресурси.

Препоръчително е да го промените на динамичен и да го оптимизирате. pm.max_children И други параметри:

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 后自动退出

Тази конфигурация гарантира производителност, като същевременно се избягва разхищение на ресурси.

За подробни инструкции за конфигуриране, моля, вижте следния урок ▼

Според официалната документация на PHP:

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

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

Заключение: Моята гледна точка

Конфигурацията на сървъра е като диригент в оркестър, който определя как трябва да се свири всеки инструмент.

www.conf Това е диригентът по подразбиране, подходящ за солови изпълнения;etufo.org.conf Това е диригент, създаден специално за конкретна сцена; и dummy.conf Това е чернова на музикални партитури, която ви напомня как да пишете нови мелодии.

В епоха, фокусирана върху информационната сигурност и оптимизацията на производителността, знанието как правилно да се използват тези конфигурационни файлове е ключово за контролирането на жизненоважната линия на сървъра.

Конфигурацията не е просто тривиален текст; тя е душата на сървъра.

Ако опериратеWordPressЗа приложения с множество сайтове, силно препоръчваме незабавно да проверите и оптимизирате тези файлове от пула, особено настройките на параметрите на пула на процесите, за да направите вашия сървър наистина стабилен.

Блог на Hope Chen Weiliang ( https://www.chenweiliang.com/ Статията „Разлики и техники за оптимизация на конфигурационния файл PHP-FPM /etc/php/8.3/fpm/pool.d/“, споделена тук, може да ви бъде полезна.

Добре дошли да споделите връзката към тази статия:https://www.chenweiliang.com/cwl-33845.html

За да отключите още скрити трикове🔑, заповядайте в нашия Telegram канал!

Споделете и харесайте, ако ви харесва! Вашите споделяния и харесвания са нашата постоянна мотивация!

 

发表 评论

Вашият имейл адрес няма да бъде публикуван. Използват се задължителните полета * Етикет

Справочник на статиите
Преминете към Top