Nota: O seguinte artigo irá ajudá-lo com: Como adicionar suporte PHP-FPM para sites NGINX
Se você estiver construindo sites NGINX, provavelmente precisará de suporte a PHP-FPM habilitado. Jack Wallen mostra como.
Se você decidiu mudar do Apache para o NGINX, uma das perguntas que você pode fazer é como adicionar suporte para o PHP Fast Process Manager (PHP-FPM). Para aqueles que talvez não saibam, o PHP-FPM é um manipulador FastCGI para scripts e aplicativos PHP, o que possibilita que um site lide com cargas mais altas. O PHP-FPM é muito mais rápido do que os ambientes PHP multiusuário tradicionais baseados em CGI e também permite a hospedagem de vários aplicativos usando diferentes versões do PHP.
Quero orientá-lo no processo de instalação do PHP-FPM e ativá-lo em seus sites NGINX. Não é tão simples quanto com o Apache, mas não deve ser um grande desafio para qualquer profissional de TI.
VEJO: Comandos de controle de serviço do Linux (TechRepublic Premium)
O que você precisará
As únicas coisas que você precisa para isso são uma instância em execução do NGINX e um usuário com privilégios sudo. Estarei demonstrando no meu servidor de escolha, Ubuntu 20.04, mas este processo pode ser modificado para funcionar em qualquer plataforma que suporte PHP e PHP-FPM.
Como instalar o PHP-FPM
A primeira coisa que devemos fazer é instalar o PHP-FPM e alguns extras. Faça login na sua instância do Ubuntu Server e, na janela do terminal, emita o comando:
sudo apt install php php-cli php-fpm php-json php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath -y
O comando acima fará o download e instalará todas as dependências necessárias.
Depois que o PHP-FPM estiver instalado, você precisa descobrir qual versão do PHP está instalada. Faça isso com o comando:
php –versão
Você pode então verificar o status do PHP-FPM com o comando:
sudo systemctl status php7.X-fpm
Onde X é o número da versão do PHP.
Se você vir que o PHP-FPM não está rodando (deveria estar), inicie-o com o comando:
sudo systemctl start php7.X-fpm
Onde X é o número da versão do PHP.
Por fim, habilite o PHP-FPM com o comando:
sudo systemctl habilita php7.x-fpm
Novamente, onde X é o número da versão do PHP.
Como configurar o PHP-FPM
Agora precisamos fazer algumas alterações na configuração, para que o NGINX conheça o PHP-FPM. A primeira é editar o arquivo de configuração padrão do NGINX. Abra esse arquivo com o comando:
sudo nano /etc/nginx/nginx.conf
Nesse arquivo, procure a linha:
#server_tokens desativado;
Descomente essa linha para que fique assim:
server_tokens desligado;
Salve e feche o arquivo.
Em seguida, precisamos editar a configuração padrão do virtualhost. Abra esse arquivo com o comando:
sudo nano /etc/nginx/sites-available/default
Nesse arquivo, procure a seção em:
# passa scripts PHP para o servidor FastCGI
Essa seção precisa se parecer com:
localização ~ .php$ {
inclua trechos/fastcgi-php.conf;
#
# # Com php-fpm (ou outros soquetes unix):
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# # Com php-cgi (ou outros soquetes tcp):
# fastcgi_pass 127.0.0.1:9000;
}
Em outras palavras, descomente (remova o caractere #) as linhas:
Salve e feche o arquivo.
Reinicie o NGINX com o comando:
sudo systemctl reinicie o nginx
Como testar a instalação
Crie um arquivo de teste com o comando:
sudo nano /var/www/html/info.php
Nesse arquivo, cole o seguinte conteúdo:
Salve e feche o arquivo.
Abra um navegador da Web e aponte para (onde SERVER é o endereço IP do servidor de hospedagem). Você deve ver, próximo ao topo da página de informações do PHP, FPM/FastCGI listado para a API do servidor e, sob cgi-fcgi, que php-fpm está ativo (Figura A).
Figura A
E é isso, você tem o NGINX instalado e funcionando com suporte PHP-FPM. Lembre-se, quando você construir seus arquivos de configuração de virtualhost, você precisará certificar-se de incluir suporte PHP neles. Para isso, você pode usar o arquivo /etc/nginx/sites-available/default como exemplo.
Parabéns, aproveite essa bondade do PHP/NGINX.