📒 

Ao implementar aplicativos PHP em um servidor virtual privado (VPS), é importante escolher o método correto de execução do PHP. A escolha pode afetar significativamente o desempenho e o uso de recursos de seus aplicativos. Este artigo explicará três modos PHP comuns: mod_php, FastCGI e PHP-FPM, discutindo suas diferenças, vantagens e como configurá-los.

1. Entendendo os modos de execução do PHP

1.1. mod_php

o mod_php é um módulo do Apache que permite que o PHP seja executado como um módulo do Apache. Esse método costuma ser o mais simples de configurar.

  • Como funciona: O PHP é executado como parte do processo do Apache. Quando uma solicitação de um arquivo PHP é recebida, o Apache invoca o mod_php para lidar com a execução.
  • Desempenho: o mod_php pode ser rápido para aplicativos de pequeno e médio porte, pois elimina a sobrecarga de gerar um processo separado para cada solicitação.

Desvantagens:

  • Uso intensivo de recursos: Como o PHP é executado dentro do processo do Apache, cada solicitação consome memória e pode levar a um alto uso de recursos, especialmente sob carga pesada.
  • Configuração limitada: Não possui os recursos avançados e o controle disponível em outros métodos, como o PHP-FPM.

1.2. FastCGI

O FastCGI é uma alternativa ao mod_php que permite que o PHP seja executado como um processo separado, que pode lidar com várias solicitações simultaneamente.

  • Como funciona: Os processos FastCGI se comunicam com o servidor da Web (Apache ou Nginx) por meio de um soquete. Quando uma solicitação é recebida, o servidor da Web a passa para o processo FastCGI para execução.
  • Desempenho: O FastCGI pode melhorar o desempenho de sites de alto tráfego, pois pode gerenciar várias solicitações e persistir nos processos.

Desvantagens:

  • Complexidade de configuração: A configuração do FastCGI pode ser mais complexa do que a do mod_php, exigindo configuração adicional no servidor Web.

1.3. PHP-FPM (gerenciador de processos FastCGI)

O PHP-FPM é uma versão avançada do FastCGI que oferece recursos adicionais para gerenciar processos PHP.

  • Como funciona: O PHP-FPM gerencia um pool de processos PHP que lidam com solicitações do servidor Web. Ele pode ajustar dinamicamente o número de processos com base no tráfego, melhorando a eficiência.
  • Desempenho: O PHP-FPM é altamente eficiente para lidar com solicitações simultâneas, tornando-o adequado para aplicativos de alto desempenho.

Vantagens:

  • Gerenciamento avançado de processos: O PHP-FPM permite um melhor controle sobre os processos PHP, incluindo configurações para solicitações lentas, configurações de tempo limite e muito mais.
  • Eficiência de recursos: Ao gerenciar pools de processos, o PHP-FPM pode ser mais eficiente em termos de memória do que o mod_php.

2. Configuração do PHP-FPM no VPS

Se você decidir usar o PHP-FPM, veja como configurá-lo em um VPS executando o Ubuntu:

Etapa 1: Instalar o PHP e o PHP-FPM

sudo apt update sudo apt install php-fpm

Etapa 2: Configure seu servidor da Web

  • Para o Nginx:

Edite o arquivo de bloco do servidor Nginx:

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

Adicione as seguintes linhas no bloco do servidor:

location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # Ajuste a versão do PHP conforme necessário }
  • Para o Apache:

Certifique-se de que o módulo proxy_fcgi esteja ativado:

sudo a2enmod proxy_fcgi

Em seguida, edite o arquivo de configuração do Apache

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

Adicione as seguintes linhas no bloco :

SetHandler “proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost/”

Etapa 3: reiniciar o servidor Web

Reinicie o servidor Web para aplicar as alterações:

  • Para o Nginx:
sudo systemctl restart nginx
  • Para o Apache:
sudo systemctl restart apache2

3. Conclusão

A escolha do modo de execução correto do PHP é fundamental para otimizar o desempenho de seus aplicativos em um VPS. Cada método – mod_php, FastCGI e PHP-FPM – tem suas vantagens e casos de uso ideais. Para aplicativos de alto desempenho, o PHP-FPM costuma ser a melhor opção devido ao gerenciamento eficiente de processos e à escalabilidade. Ao compreender essas opções, você pode tomar decisões informadas para melhorar o desempenho e a capacidade de resposta do seu servidor Web.