15%

Alexhost ви дава ТСлания

Π˜Π·Π²ΡŠΡ€ΡˆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡƒΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈ спСчСлСтС Π½Π°Π³Ρ€Π°Π΄ΠΈ

01.11.2024

Π Π΅ΠΆΠΈΠΌΠΈ Π½Π° PHP: mod_php, FastCGI ΠΈ PHP-FPM Π½Π° VPS

Π Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π° PHP прилоТСния Π½Π° AlexHost VPS: Π˜Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ Π½Π°ΠΉ-добрия Ρ€Π΅ΠΆΠΈΠΌ (mod_php vs FastCGI vs PHP-FPM)

PHP Π·Π°Ρ…Ρ€Π°Π½Π²Π° Π½Π°Π΄ 80 % ΠΎΡ‚ уСбсайтовСтС, Π½ΠΎ Π³Ρ€Π΅ΡˆΠ΅Π½ Ρ€Π΅ΠΆΠΈΠΌ Π½Π° изпълнСниС = Π±Π°Π²Π½ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅, ΠΌΠ½ΠΎΠ³ΠΎ RAM, сривовС. VPS Π½Π° AlexHost с NVMe ΠΈ DDoS Π·Π°Ρ‰ΠΈΡ‚Π° Π²ΠΈ Π΄Π°Π²Π° пълСн ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π²ΡŠΡ€Ρ…Ρƒ ΠΈΠ·Π±ΠΎΡ€Π° Π½Π° mod_php, FastCGI ΠΈΠ»ΠΈ PHP-FPM Π·Π° свСткавична скорост. Π’ΠΎΠ²Π° Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ сравнява ΠΈ Ρ‚Ρ€ΠΈΡ‚Π΅, ΠΏΠΎΠΊΠ°Π·Π²Π° настройката с 1 ΠΊΠ»ΠΈΠΊ Π½Π° контролния ΠΏΠ°Π½Π΅Π» cPanel ΠΈ Ρ€Π°Π·ΠΊΡ€ΠΈΠ²Π° Π·Π°Ρ‰ΠΎ PHP-FPM + LiteSpeed = 10 ΠΏΡŠΡ‚ΠΈ ΠΏΠΎ-Π±ΡŠΡ€Π·.

1. Π Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π΅ΠΆΠΈΠΌΠΈΡ‚Π΅ Π½Π° изпълнСниС Π½Π° PHP

1.1. mod_php

mod_php Π΅ ΠΌΠΎΠ΄ΡƒΠ» Π½Π° Apache, ΠΊΠΎΠΉΡ‚ΠΎ позволява PHP Π΄Π° сС изпълнява ΠΊΠ°Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ» Π½Π° Apache. Π’ΠΎΠ·ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ чСсто Π΅ Π½Π°ΠΉ-прост Π·Π° настройка

  • Как Ρ€Π°Π±ΠΎΡ‚ΠΈ: PHP сС изпълнява ΠΊΠ°Ρ‚ΠΎ част ΠΎΡ‚ процСса Π½Π° Apache. ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΏΠΎΡΡ‚ΡŠΠΏΠΈ заявка Π·Π° PHP Ρ„Π°ΠΉΠ», Apache ΠΈΠ·Π²ΠΈΠΊΠ²Π° mod_php, Π·Π° Π΄Π° сС справи с ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ.
  • ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚: mod_php ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π±ΡŠΡ€Π· Π·Π° ΠΌΠ°Π»ΠΊΠΈ ΠΈ срСдни ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ прилоТСния, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π° Ρ€Π΅ΠΆΠΈΠΉΠ½ΠΈΡ‚Π΅ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ Π·Π° създаванС Π½Π° ΠΎΡ‚Π΄Π΅Π»Π΅Π½ процСс Π·Π° всяка заявка.

ΠΠ΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ†ΠΈ

  • РСсурсоСмки: Въй ΠΊΠ°Ρ‚ΠΎ PHP сС изпълнява Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° процСса Π½Π° Apache, всяка заявка ΠΈΠ·Ρ€Π°Π·Ρ…ΠΎΠ΄Π²Π° ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ висока консумация Π½Π° рСсурси, особСно ΠΏΡ€ΠΈ голямо Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅.
  • ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° конфигурация: Липсват Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ», Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ, ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ PHP-FPM.

1.2. FastCGI

FastCGI Π΅ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° Π½Π° mod_php, която позволява Π½Π° PHP Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ процСс, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° мноТСство заявки Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ

  • Как Ρ€Π°Π±ΠΎΡ‚ΠΈ: ΠŸΡ€ΠΎΡ†Π΅ΡΠΈΡ‚Π΅ FastCGI ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠΈΡ€Π°Ρ‚ с ΡƒΠ΅Π± ΡΡŠΡ€Π²ΡŠΡ€Π° (Apache ΠΈΠ»ΠΈ Nginx) Ρ‡Ρ€Π΅Π· сокСт. ΠšΠΎΠ³Π°Ρ‚ΠΎ сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ заявка, ΡƒΠ΅Π± ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ я ΠΏΡ€Π΅Π΄Π°Π²Π° Π½Π° процСса FastCGI Π·Π° изпълнСниС.
  • ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚: FastCGI ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ производитСлността Π½Π° сайтовС с голям Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° управлява мноТСство заявки ΠΈ Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° процСси.

ΠΠ΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ†ΠΈ

  • БлоТност Π½Π° конфигурацията: Настройката Π½Π° FastCGI ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΠΎ-слоТна ΠΎΡ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° mod_php, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ изисква Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° конфигурация Π² ΡƒΠ΅Π± ΡΡŠΡ€Π²ΡŠΡ€Π°.

1.3. PHP-FPM (FastCGI Process Manager)

PHP-FPM Π΅ ΡƒΡΡŠΠ²ΡŠΡ€ΡˆΠ΅Π½ΡΡ‚Π²Π°Π½Π° вСрсия Π½Π° FastCGI, която прСдоставя Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° PHP процСси

  • Как Ρ€Π°Π±ΠΎΡ‚ΠΈ: PHP-FPM управлява ΠΏΡƒΠ» ΠΎΡ‚ PHP процСси, ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚ заявки ΠΎΡ‚ ΡƒΠ΅Π± ΡΡŠΡ€Π²ΡŠΡ€Π°. Π’ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ Π΄Π° Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€Π° броя Π½Π° процСситС Π² зависимост ΠΎΡ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ подобрява СфСктивността.
  • ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π½ΠΎΡΡ‚: PHP-FPM Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ заявки, ΠΊΠΎΠ΅Ρ‚ΠΎ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ подходящ Π·Π° прилоТСния с висока производитСлност.

ΠŸΡ€Π΅Π΄ΠΈΠΌΡΡ‚Π²Π°

  • Π£ΡΡŠΠ²ΡŠΡ€ΡˆΠ΅Π½ΡΡ‚Π²Π°Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° процСси: PHP-FPM Π΄Π°Π²Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΏΠΎ-Π΄ΠΎΠ±ΡŠΡ€ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° PHP процСситС, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ настройки Π·Π° Π±Π°Π²Π½ΠΈ заявки, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π·Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚Ρ€Π°Π΅Π½Π΅ ΠΈ Π΄Ρ€.
  • ЕфСктивност Π½Π° рСсурситС: Π§Ρ€Π΅Π· ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡƒΠ»ΠΎΠ²Π΅ ΠΎΡ‚ процСси PHP-FPM ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π² сравнСниС с mod_php.

2. НастройванС Π½Π° PHP-FPM Π½Π° VPS

Ако Ρ€Π΅ΡˆΠΈΡ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ PHP-FPM, Π΅Ρ‚ΠΎ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ настроитС Π½Π° VPS с Ubuntu

Π‘Ρ‚ΡŠΠΏΠΊΠ° 1: Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π΅ Π½Π° PHP ΠΈ PHP-FPM

sudo apt update sudo apt install php-fpm

Π‘Ρ‚ΡŠΠΏΠΊΠ° 2: ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΡƒΠ΅Π± ΡΡŠΡ€Π²ΡŠΡ€Π°

  • Π—Π° Nginx:

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ»Π° с Π±Π»ΠΎΠΊΠ° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Nginx

sudo nano /etc/nginx/sites-available/default

Π”ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ слСднитС Ρ€Π΅Π΄ΠΎΠ²Π΅ Π² Π±Π»ΠΎΠΊΠ° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°:

location ~ .php$ { include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # Adjust PHP version as needed }

  • Π—Π° Apache:

Π£Π²Π΅Ρ€Π΅Ρ‚Π΅ сС, Ρ‡Π΅ Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŠΡ‚ proxy_fcgi

sudo a2enmod proxy_fcgi

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ конфигурационния Ρ„Π°ΠΉΠ» Π½Π° Apache

sudo nano /etc/apache2/sites-available/000-default.conf

Π”ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ слСднитС Ρ€Π΅Π΄ΠΎΠ²Π΅ Π² Π±Π»ΠΎΠΊΠ° <VirtualHost>

<FilesMatch .php$> SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost/" </FilesMatch>

Π‘Ρ‚ΡŠΠΏΠΊΠ° 3: РСстартирайтС вашия ΡƒΠ΅Π± ΡΡŠΡ€Π²ΡŠΡ€

РСстартирайтС ΡƒΠ΅Π± ΡΡŠΡ€Π²ΡŠΡ€Π°, Π·Π° Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅

  • Π—Π° Nginx:
sudo systemctl restart nginx
  • Π—Π° Apache:
sudo systemctl restart apache2

3. Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π˜Π·Π±ΠΎΡ€ΡŠΡ‚ Π½Π° правилния Ρ€Π΅ΠΆΠΈΠΌ Π½Π° изпълнСниС Π½Π° PHP Π΅ ΠΎΡ‚ Ρ€Π΅ΡˆΠ°Π²Π°Ρ‰ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° производитСлността Π½Π° Π²Π°ΡˆΠΈΡ‚Π΅ прилоТСния Π½Π° VPS. ВсСки ΠΌΠ΅Ρ‚ΠΎΠ΄ – mod_php, FastCGI ΠΈ PHP-FPM – ΠΈΠΌΠ° своитС прСдимства ΠΈ ΠΈΠ΄Π΅Π°Π»Π½ΠΈ случаи Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅. Π—Π° прилоТСния с висока производитСлност PHP-FPM чСсто Π΅ Π½Π°ΠΉ-добрият ΠΈΠ·Π±ΠΎΡ€ ΠΏΠΎΡ€Π°Π΄ΠΈ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡ‚ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° процСситС ΠΈ мащабируСмостта ΠΌΡƒ. ΠšΠ°Ρ‚ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚Π΅ Ρ‚Π΅Π·ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²Π·Π΅ΠΌΠ°Ρ‚Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Π½ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π·Π° Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΡ‚Π΅ производитСлността ΠΈ отзивчивостта Π½Π° ΡƒΠ΅Π± ΡΡŠΡ€Π²ΡŠΡ€Π° си.

15%

Alexhost ви дава ТСлания

Π˜Π·Π²ΡŠΡ€ΡˆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡƒΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈ спСчСлСтС Π½Π°Π³Ρ€Π°Π΄ΠΈ