Como configurar o Nginx para a página PHP

Neste artigo, mostramos como configurar a página Nginx para PHP no CentOS.

Para este tutorial, instalamos o NGINX. Este tutorial cobrirá a configuração básica do servidor da web NGINX para processar aplicativos PHP e servi-los na porta 80. É recomendado que você estude NGINX e PHP-FPM.

Pré-requisitos

  • Servidor dedicado ou em nuvem com CentOS instalado.
  • NGINX instalado no CentOS.
  • PHP instalado.
  • SSH como usuário root (você pode usar um usuário normal com direitos sudoer, use 'sudo' com todos os comandos).

Aqui estão os artigos para a instalação do Nginx e a instalação do PHP .

Depois de instalar ambos, abra o arquivo de configuração principal do PHP-fpm:

# vi /etc/php.ini

Estamos procurando o parâmetro que define cgi.fix_pathinfo . O comentário será removido removendo o ponto-e-vírgula (;) e definido como 0.

Esta é uma configuração extremamente insegura porque diz ao PHP para tentar executar o arquivo mais próximo que puder encontrar se um arquivo PHP não corresponder exatamente. Basicamente, isso permitiria que os usuários elaborassem solicitações de PHP de uma forma que lhes permitiria executar scripts que não deveriam ser executados.

Portanto, vamos alterar essas duas condições removendo o comentário da linha e definindo-a como “0” assim:

cgi.fix_pathinfo=0

Depois de fazer isso, salve e saia.

Em seguida, reinicie o serviço php-fpm:

# systemctl restart php-fpm

Configure o bloco do servidor Nginx para usar o processador PHP

# vi /etc/nginx/sites-available/default

observação: o nome do arquivo do bloco do servidor pode ser diferente, conforme mostrado acima.

O bloco de servidor padrão do Ngnix pode ser semelhante a:

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /usr/share/nginx/html;
index index.html index.htm;

server_name localhost;

location / {
try_files $uri $uri/ =404;
}
}

  • Aqui, precisamos adicionar uma diretiva de índice index.php para permitir que arquivos PHP sejam servidos quando um diretório for solicitado.
  • Modifique a diretiva server_name. Substitua localhost pelo seu nome de domínio FQDN ou endereço IP público.
  • Adicione uma diretiva try_files para garantir que o Nginx não passe solicitações incorretas para o nosso processador PHP.

O bloco do servidor se parece com:

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /usr/share/nginx/html;
index index.php index.html index.htm;

server_name server_domain_name_or_IP;

location / {
try_files $uri $uri/ =404;
}

error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

Configure as alterações acima, agora salve e saia do arquivo.

Reinicie o Ngnix para fazer as alterações necessárias:

# systemctl restart nginx

Agora, crie um arquivo de teste PHP:

# vi /usr/share/nginx/html/info.php

Adicione um código PHP válido que retorne informações formatadas sobre nosso servidor:

<>
phpinfo();
?>

Salvar e sair.

É isso que fizemos a configuração necessária, bem como as modificações.

Finalmente, vamos acessar o arquivo info.php, que criamos anteriormente:

https://server_domain_name_or_IP/info.php

Você deve ver uma página da web que foi gerada por PHP com informações sobre o seu servidor.

Se você vir uma página de informações de PHP gerada por PHP, você configurou o processamento de PHP com Nginx com sucesso.

Por enquanto, remova o arquivo digitando:

sudo rm /usr/share/nginx/html/info.php

Neste artigo, vimos como nossos engenheiros de suporte configuram o Nginx para a página PHP.


Como desativar o Block Editor e instalar o Classic Editor no WordPress 5.0

Como desativar o Block Editor e instalar o Classic Editor no WordPress 5.0

A partir do WordPress 5.0, o editor padrão do WordPress é o novo editor de blocos. O novo editor é radicalmente diferente

Como definir o Editor Clássico como Editor Padrão no WordPress em vez do Gutenberg

Como definir o Editor Clássico como Editor Padrão no WordPress em vez do Gutenberg

O Gutenberg Editor logo se tornará o editor padrão do WordPress. Você terá a opção de selecionar o Editor Clássico

Como consertar problemas do WordPress 5.0

Como consertar problemas do WordPress 5.0

O WordPress 5.0 está finalmente sendo lançado e traz consigo uma nova experiência de edição com o Gutenberg

Como atualizar itens de pasta no Windows 11

Como atualizar itens de pasta no Windows 11

Com a opção Atualizar ausente no menu de contexto, veja como você pode atualizar itens no Explorador de Arquivos no Windows 11.

Como corrigir erro de agrupamento “utf8mb4_0900_ai_ci” ao importar banco de dados WordPress

Como corrigir erro de agrupamento “utf8mb4_0900_ai_ci” ao importar banco de dados WordPress

Se você estiver mudando a instalação do WordPress de um servidor MySQL 8 para MySQL 5.7 (ou inferior), provavelmente encontrará

CORREÇÃO: “O editor encontrou um erro inesperado” no WordPress após a atualização

CORREÇÃO: “O editor encontrou um erro inesperado” no WordPress após a atualização

Incapaz de escrever uma nova postagem usando o novo Editor de Bloco no WordPress? É provável que você receba “O editor

🔧 CORREÇÃO: parece que sua instalação do PHP não contém a extensão MySQL exigida pelo WordPress

🔧 CORREÇÃO: parece que sua instalação do PHP não contém a extensão MySQL exigida pelo WordPress

Quer administrar um site WordPress autogerenciado? Excelente. Você aprenderá um zilhão de coisas. Uma das partes críticas da configuração

Como habilitar tags curtas de PHP

Como habilitar tags curtas de PHP

Neste artigo, abordamos como habilitar tags curtas de PHP. O PHP analisa o arquivo usando tags de abertura e fechamento, que são semelhantes. Para habilitar tags curtas de PHP

Configure o mod_evasive para prevenir ataques DoS e DDoS no CentOS

Configure o mod_evasive para prevenir ataques DoS e DDoS no CentOS

Neste artigo, aprenderemos como instalar e configurar o mod_evasive para evitar ataques DoS e DDoS no CentOS. O módulo mod_evasive Apache.

Como instalar o PHP com PHP-FPM para NGINX no CentOS

Como instalar o PHP com PHP-FPM para NGINX no CentOS

como instalar PHP com PHP-FPM para NGINX no CentOS. A configuração básica do servidor da web NGINX para processar aplicativos PHP e servi-los na porta 80.