Відмінності та методи оптимізації у файлі конфігурації 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

Якщо ви працюєте лише на одному сайті, цього достатньо.

etНЛО.org.conf: Пул користувацьких сайтів

Якщо у вас кілька сайтів, вам потрібно створити окремий пул для кожного сайту.

такий як etufo.org.confЦе спеціально для доменних імен. etНЛО. 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-каналу!

Поділіться та поставте лайк, якщо вам подобається! Ваші розповсюдження та вподобання — наша постійна мотивація!

 

发表 评论

Ваша електронна адреса не буде опублікована. 必填 项 已 用 * Етикетка

Каталог статей
Прокрутка до початку