Відмінності та методи оптимізації у файлі конфігурації 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 , наполегливо рекомендується негайно перевірити та оптимізувати ці файли пулу, особливо налаштування параметрів пулу процесів, щоб зробити ваш сервер справді надійним.

Сподіваємося, що стаття «Відмінності та методи оптимізації файлу конфігурації PHP-FPM /etc/php/8.3/fpm/pool.d/», опублікована в блозі Ченя Вейляна ( https://www.chenweiliang.com/ ), буде вам корисною.

Не соромтеся поділитися посиланням на цю статтю: https://www.chenweiliang.com/cwl-33845.html

Щоб розкрити більше прихованих хитрощів🔑, приєднуйтесь до нашого Telegram-каналу!

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

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Прокрутка до початку