Pesquisa de site

Como instalar e configurar Nginx com PHP-FPM no CentOS 8


Nginx é gratuito, de código aberto e um dos servidores web mais poderosos do mundo. É usado principalmente para sites muito carregados e com alto tráfego. O Nginx é conhecido por sua estabilidade, configuração simples e baixo consumo de recursos. Você pode usar o Nginx como servidor web e proxy reverso.

FPM significa FastCGI Process Manager é uma implementação alternativa de PHP FastCGI de PHP e usada para sites de alto tráfego. É comumente usado com servidor web para servir páginas PHP. PHP-FPM usa menos memória e CPU em comparação com qualquer outro método de execução de PHP. PHP-FPM é mais rápido que os métodos tradicionais baseados em CGI para ambientes PHP multiusuário. PHP-FPM também permite executar várias versões de PHP ao mesmo tempo.

Este tutorial nos ensinará como instalar o Nginx com suporte PHP-FPM no CentOS 8.

Pré-requisitos

  • Um servidor rodando CentOS 8.
  • Uma senha root está configurada em seu servidor.

Começando

Por padrão, o SELinux está habilitado no servidor CentOS 8. Portanto, você precisará desativá-lo primeiro.

Você pode fazer isso editando o arquivo /etc/selinux/config:

nano /etc/selinux/config

Faça as seguintes alterações:

SELINUX=disabled

Salve e feche o arquivo. Em seguida, reinicie o servidor para aplicar as alterações.

Instale o servidor web Nginx

Primeiro, instale o servidor web Nginx com o seguinte comando:

yum install nginx -y

Depois que o Nginx for instalado, inicie o serviço Nginx e habilite-o para iniciar na inicialização com o seguinte comando:

systemctl start nginx
systemctl enable nginx

Depois de terminar, você pode prosseguir para a próxima etapa.

Instale PHP e PHP-FPM

Em seguida, instale o PHP e o PHP-FPM executando o seguinte comando:

yum install php php-cli php-common php-fpm -y

Depois que todos os pacotes estiverem instalados, inicie o serviço PHP-FPM e habilite-o para iniciar após a reinicialização do sistema:

systemctl start php-fpm
systemctl enable php-fpm

Você também pode verificar o status do serviço PHP-FPM com o seguinte comando:

systemctl status php-fpm

Você deve obter a seguinte saída:

? php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-10-17 05:39:11 EDT; 4min 40s ago
 Main PID: 1475 (php-fpm)
   Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"
    Tasks: 6 (limit: 5060)
   Memory: 28.5M
   CGroup: /system.slice/php-fpm.service
           ??1475 php-fpm: master process (/etc/php-fpm.conf)
           ??1478 php-fpm: pool www
           ??1479 php-fpm: pool www
           ??1480 php-fpm: pool www
           ??1481 php-fpm: pool www
           ??1482 php-fpm: pool www

Oct 17 05:39:10 centos8 systemd[1]: Starting The PHP FastCGI Process Manager...
Oct 17 05:39:11 centos8 systemd[1]: Started The PHP FastCGI Process Manager.

Crie uma página de índice para Nginx

Em seguida, você precisará criar uma página info.php de amostra para testar se o Nginx usa PHP-FPM ou não.

Você pode criar um info.php dentro do diretório raiz do documento padrão do Nginx, conforme mostrado abaixo:

nano /var/www/html/info.php

Adicione as seguintes linhas:

<?php
    phpinfo();
?>

Salve e feche o arquivo quando terminar.

Em seguida, altere a propriedade do arquivo info.php para nginx:

chown -R nginx: /var/www/html/info.php/

Configurar Nginx com PHP-FPM

Em seguida, você precisará criar um arquivo de configuração de host virtual Nginx e habilitar o suporte PHP-FPM.

Você pode criá-lo com o seguinte comando:

nano /etc/nginx/conf.d/example.conf

Adicione as seguintes linhas:

server {
    listen 80;
    server_name example.com;
    root /var/www/html/;
    index info.php;

    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index   index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        expires max;
        log_not_found off;
    }

}

Salve e feche o arquivo. Em seguida, teste o Nginx para qualquer erro de sintaxe com o seguinte comando:

nginx -t

Em seguida, habilite o arquivo de host virtual Nginx e reinicie o serviço Nginx para aplicar a configuração:

systemctl restart nginx

Teste Nginx com suporte PHP-FPM

Agora, abra seu navegador e digite o URL http://example.com. Você será redirecionado para a seguinte página:

Na página acima, você verá que o PHP-FPM é carregado com o servidor web Nginx.

Conclusão

Parabéns! você instalou com sucesso o Nginx com suporte PHP-FPM em um servidor CentOS 8. Agora você pode usar PHP-FPM para hospedar vários sites que usam diferentes versões de PHP.

Artigos relacionados: