15%

Π‘ΡΠΊΠΎΠ½ΠΎΠΌΡŒΡ‚Π΅ 15% Π½Π° всСх хостинговых услугах

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свои Π½Π°Π²Ρ‹ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ скидку Π½Π° любой Ρ‚Π°Ρ€ΠΈΡ„Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄:

Skills
ΠΠ°Ρ‡Π°Ρ‚ΡŒ
18.12.2024

PHP FastCGI Process Manager – PHP-FPM

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ PHP с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PHP-FPM Π½Π° вашСм VPS AlexHost

Π—Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ PHP-FPM Π½Π° AlexHost? PHP-FPM (FastCGI Process Manager) ускоряСт Ρ€Π°Π±ΠΎΡ‚Ρƒ сайтов Π½Π° Π±Π°Π·Π΅ PHP, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ WordPress ΠΈΠ»ΠΈ Laravel, обСспСчивая Π±ΠΎΠ»Π΅Π΅ быстроС врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° ΠΈ эффСктивноС использованиС рСсурсов. VPS ΠΎΡ‚ AlexHost с NVMe-Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ, ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΊΠΎΡ€Π½Π΅Π²Ρ‹ΠΌ доступом ΠΈ Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ DDoS-Π°Ρ‚Π°ΠΊ – идСальная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для запуска PHP-FPM, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ, Ρ‡Ρ‚ΠΎ ваши прилоТСния Π»Π΅Π³ΠΊΠΎ справятся с высоким Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ. Π’ этом руководствС ΠΌΡ‹ расскаТСм ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ PHP-FPM, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ мСняСт ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, ΠΈ ΠΊΠ°ΠΊ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° вашСм VPS AlexHost.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ PHP-FPM?

PHP-FPM, ΠΈΠ»ΠΈ PHP FastCGI Process Manager, – это рСализация FastCGI для PHP-скриптов. FastCGI – это ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Π΅Π±-сСрвСров Π·Π° счСт Π±ΠΎΠ»Π΅Π΅ эффСктивной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов, Ρ‡Π΅ΠΌ стандартный CGI (Common Gateway Interface). Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ CGI создаСт Π½ΠΎΠ²Ρ‹ΠΉ процСсс для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ запроса (Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΡŽ рСсурсов), FastCGI ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡƒΠ» Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов, Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ нСсколько запросов, Ρ‡Ρ‚ΠΎ сниТаСт Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы. PHP-FPM добавляСт слой управлСния процСссами ΠΏΠΎΠ²Π΅Ρ€Ρ… FastCGI, позволяя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ ΠΏΡƒΠ» процСссов, ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов ΠΏΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ, ΠΏΠ»Π°Π²Π½ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π»Π΅Π³ΠΊΠΎ ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с высокой ΠΏΠΎΡΠ΅Ρ‰Π°Π΅ΠΌΠΎΡΡ‚ΡŒΡŽ срСды. БСйчас это Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ стандартный ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ PHP для ΠΌΠ½ΠΎΠ³ΠΈΡ… соврСмСнных Π²Π΅Π±-сСрвСров, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ NGINX ΠΈ Apache

ΠŸΠΎΡ‡Π΅ΠΌΡƒ стоит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ PHP-FPM?

  1. Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π½Π°Ρ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: PHP-FPM ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ большС ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… запросов с мСньшими рСсурсами, сниТая Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° сСрвСр ΠΈ ускоряя врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°. Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Π²Π΅Π±-сайтов с высокой ΠΏΠΎΡΠ΅Ρ‰Π°Π΅ΠΌΠΎΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΡ‹Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Π²Π½Π΅Π·Π°ΠΏΠ½Ρ‹Π΅ скачки Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°.
  2. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ процСссами: PHP-FPM позволяСт Ρ‚ΠΎΠ½ΠΊΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ процСссами, давая Π²Π°ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ PHP ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ запросы. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡƒΠ» Ρ€Π°Π±ΠΎΡ‡ΠΈΡ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π² соотвСтствии с ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ, обСспСчивая эффСктивноС использованиС рСсурсов сСрвСра.
  3. Π‘ΠΎΠ»Π΅Π΅ эффСктивноС использованиС рСсурсов: ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ PHP-FPM ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ процСссы Π² ΠΏΡƒΠ», ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ нСсколько запросов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ…, сводя ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ постоянно ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ процСссы. Π­Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ использования памяти ΠΈ процСссора.
  4. Благодатная дСградация: ΠŸΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ настройкС PHP-FPM ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ»Π°Π²Π½ΠΎ Π΄Π΅Π³Ρ€Π°Π΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, сокращая количСство Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… процСссов, Ссли сСрвСр ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½, прСдотвращая Ρ‚Π΅ΠΌ самым ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΡ€Π°Ρ….
  5. Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности: PHP-FPM Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ slow-log для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ процСссов ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΎ состоянии, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСдставлСниС ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅ Π²Π°ΡˆΠΈΡ… PHP-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ особСнности PHP-FPM

  • ΠŸΡƒΠ»Ρ‹ процСссов: PHP-FPM позволяСт Π²Π°ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ нСсколько ΠΏΡƒΠ»ΠΎΠ² Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов PHP. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡƒΠ» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ настроСн с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ позволяСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ сСрвСрС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ PHP-прилоТСния с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ трСбованиями ΠΊ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΡƒ.
  • АдаптивноС ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ процСссов: PHP-FPM ΠΌΠΎΠΆΠ΅Ρ‚ автоматичСски ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ количСство Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов Π² зависимости ΠΎΡ‚ уровня Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Он Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ с минимального количСства Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΡƒΠ»Π° ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости, Π½Π΅ расходуя рСсурсы Π² ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρ‹ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°.
  • ΠœΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ ΠΆΡƒΡ€Π½Π°Π»: Ѐункция ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΆΡƒΡ€Π½Π°Π»Π° Π² PHP-FPM записываСт запросы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ врСмя выполнСния. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста Π² PHP-ΠΊΠΎΠ΄Π΅.
  • Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° состояния: PHP-FPM прСдоставляСт Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ страницу состояния, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ отобраТаСтся информация ΠΎ состоянии ΠΏΡƒΠ»Π°, Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ…, ΠΏΡ€ΠΎΡΡ‚Π°ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
  • Π“Ρ€Π°Ρ†ΠΈΠΎΠ·Π½ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹: PHP-FPM ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ»Π°Π²Π½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ процСссы, позволяя Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ запросам Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ. Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… скриптов, обСспСчивая Π»ΡƒΡ‡ΡˆΠ΅Π΅ качСство Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ PHP-FPM

PHP-FPM Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ FastCGI-сСрвСр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ с Π²Π΅Π±-сСрвСром, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ NGINX ΠΈΠ»ΠΈ Apache, для обслуТивания PHP-скриптов. Когда поступаСт запрос, Π²Π΅Π±-сСрвСр направляСт Π΅Π³ΠΎ слуТбС PHP-FPM, которая управляСт ΠΏΡƒΠ»ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов для выполнСния PHP-ΠΊΠΎΠ΄Π° ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° Π²Π΅Π±-сСрвСр для доставки ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ. Π’ΠΎΡ‚ упрощСнная схСма Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ PHP-FPM ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ запрос

  1. Запрос ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°: ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π²Π΅Π±-страницу, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ PHP-ΠΊΠΎΠ΄.
  2. Π’Π΅Π±-сСрвСр ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ запрос: Π’Π΅Π±-сСрвСр (NGINX ΠΈΠ»ΠΈ Apache) ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ запрос ΠΈ пСрСсылаСт Π΅Π³ΠΎ слуТбС PHP-FPM ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ FastCGI.
  3. Π Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс PHP-FPM ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ запрос: Один ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов Π² ΠΏΡƒΠ»Π΅ PHP-FPM ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ запрос, выполняСт PHP-скрипт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.
  4. ΠžΡ‚Π²Π΅Ρ‚ отправляСтся ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ: Π’Π΅Π±-сСрвСр ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈ отправляСт Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ HTML-Ρ„Π°ΠΉΠ»Π°.

Установка ΠΈ настройка PHP-FPM

Π¨Π°Π³ 1: Установка PHP-FPM

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ дистрибутивов Linux PHP-FPM ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСн Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π’ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для распространСнных систСм:

# For Debian/Ubuntu
sudo apt update
sudo apt install php-fpm
# For CentOS/RHEL
sudo yum install php-fpm
ПослС установки Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ слуТбу PHP-FPM

sudo systemctl start php-fpm

Π¨Π°Π³ 2: Настройка ΠΏΡƒΠ»ΠΎΠ² PHP-FPM

Основной ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для PHP-FPM ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ находится Π² /etc/php/7.x/fpm/pool.d/ ΠΈΠ»ΠΈ /etc/php-fpm.d/ Π² зависимости ΠΎΡ‚ вашСго дистрибутива ΠΈ вСрсии PHP. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡƒΠ» опрСдСляСтся Π² своСм собствСнном Ρ„Π°ΠΉΠ»Π΅, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Π²Π°Π½Π½ΠΎΠΌ Π² Ρ‡Π΅ΡΡ‚ΡŒ Π²Π΅Π±-сайта ΠΈΠ»ΠΈ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ½ обслуТиваСт. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΡƒΠ»Π°:

[www]
user = www-data
group = www-data
listen = /run/php/php7.4-fpm.sock
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 500
  • pm = dynamic: ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ процСссов ΠΌΠΎΠΆΠ΅Ρ‚ динамичСски Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ количСство Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов Π² зависимости ΠΎΡ‚ потрСбности.
  • pm.max_children: МаксимальноС количСство Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½Ρ‹ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов.
  • pm.start_servers: ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов, запускаСмых ΠΏΡ€ΠΈ запускС PHP-FPM.
  • pm.min_spare_servers ΠΈ pm.max_spare_servers: ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ минимальноС ΠΈ максимальноС количСство нСзадСйствованных Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов, позволяя PHP-FPM ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ рСсурсы Π² зависимости ΠΎΡ‚ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.
  • pm.max_requests: МаксимальноС количСство запросов, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ ΠΈ Π·Π°ΠΌΠ΅Π½Π΅Π½. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΡƒΡ‚Π΅Ρ‡ΠΊΡƒ памяти Π² Π΄ΠΎΠ»Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… скриптах.

Π¨Π°Π³ 3: Настройка Π²Π΅Π±-сСрвСра Π½Π° использованиС PHP-FPM

Для NGINX:

Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ NGINX (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, /etc/nginx/sites-available/example.com) установитС PHP-FPM Π² качСствС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° PHP:

server {
listen 80;
server_name example.com;
root /var/www/html;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
}

Для Apache:

Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ PHP-FPM Π² Apache, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ mod_proxy_fcgi Π²ΠΊΠ»ΡŽΡ‡Π΅Π½

sudo a2enmod proxy_fcgi setenvif

Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ хоста Apache

<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html
<FilesMatch .php$>
SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost/"
</FilesMatch>
</VirtualHost>

Π¨Π°Π³ 4: ВСстированиС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

ПослС настройки PHP-FPM ΠΈ вашСго Π²Π΅Π±-сСрвСра пСрСзапуститС слуТбы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния:

# For NGINX
sudo systemctl restart nginx
# For Apache
sudo systemctl restart apache2
Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ PHP-FPM Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, создайтС Ρ„Π°ΠΉΠ» phpinfo.php Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ вашСго Π²Π΅Π±-сайта:
?php
phpinfo();
?>
Π—Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² этот Ρ„Π°ΠΉΠ» Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,, http://example.com/phpinfo.php) ΠΈ посмотритС, ΡƒΠΊΠ°Π·Π°Π½ Π»ΠΈ PHP-FPM Π² качСствС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅: УсилСниС PHP с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AlexHost ΠΈ PHP-FPM

PHP-FPM ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ваши PHP-прилоТСния Π² Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π° VPS AlexHost с NVMe-ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ обСспСчиваСт ΠΈΡ… Π±Π΅ΡΠΏΠ΅Ρ€Π΅Π±ΠΎΠΉΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΈ высоких Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°Ρ…. УстановитС PHP-FPM, настройтС ΠΏΡƒΠ»Ρ‹ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ с NGINX ΠΈΠ»ΠΈ Apache для создания быстрых ΠΈ бСзопасных Π²Π΅Π±-сайтов. Π‘Π»Π΅Π΄ΠΈΡ‚Π΅ Π·Π° состояниСм страниц, ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Π΅ ΠΆΡƒΡ€Π½Π°Π»Ρ‹ ΠΈ создавайтС Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ для бСзопасности. Благодаря root-доступу ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ AlexHost ваши PHP-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ остановлСны – Π½Π°Ρ‡ΠΈΠ½Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π±Π΅Π· усилий!

15%

Π‘ΡΠΊΠΎΠ½ΠΎΠΌΡŒΡ‚Π΅ 15% Π½Π° всСх хостинговых услугах

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свои Π½Π°Π²Ρ‹ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ скидку Π½Π° любой Ρ‚Π°Ρ€ΠΈΡ„Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄:

Skills
ΠΠ°Ρ‡Π°Ρ‚ΡŒ