Como instalar o nginx com php-fpm no CentOS 8

Como instalar o nginx com php-fpm no CentOS 8

A maneira comum de executar o PHP com o nginx é o módulo fastcgi. O PHP-FPM (FASTCGI Process Manager) aumenta drasticamente o desempenho do seu ambiente Nginx/PHP. Portanto, isso é útil para sites de alta carga. Este tutorial ajudará você a configurar o PHP-FPM com o NGINX no sistema CentOS 8 e RHEL 8 Linux.

Pré -requisidades

  • O sistema recém -instalado é recomendado para seguir a configuração inicial do servidor.
  • Acesso ao shell ao sistema CentOS 8 com a conta de privilégios sudo.

Etapa 1 - Instale o nginx

Os pacotes Nginx estão disponíveis no repositório AppStream padrão. Você pode simplesmente atualizar o cache DNF e instalar pacotes de servidores da web nginx usando os seguintes comandos.

sudo dnf update sudo dnf install nginx 

Após a instalação de pacotes inicia o serviço nginx, também permita o serviço nginx para iniciar automaticamente a inicialização do sistema.

sudo systemctl Ativar nginx sudo systemctl start nginx 

Etapa 2 - Instale o PHP com PHP -FPM

O repositório REMI contém os pacotes PHP mais recentes para o sistema Linux CentOS 8. Então, antes de tudo, você precisa adicionar o repositório REMI ao seu sistema. Basta executar o seguinte comando para adicionar o repositório.

sudo dnf install dnf-utils http: // rpms.REMIREPO.Net/Enterprise/Remi-Relase-8.RPM 

Em seguida, ative o módulo DNF necessário para instalação de php. Aqui estamos habilitando o módulo para instalar o Php 7.4. Você pode mudar isso para Php 7.3 ou Php 7.2 De acordo com seus requisitos.

Módulo SUDO DNF Redefinir módulo PHP SUDO DNF Habilitar PHP: REMI-7.4 

Agora, instale o PHP no seu sistema. Como vamos usar o FastCGI Process Manager (FPM) para esta configuração. Portanto, instale o pacote Php-FPM também.

sudo dnf update sudo dnf install php php-fpm php-gd php-mysqlnd 

Você também pode exigir mais alguns módulos de PHP, então instale -os antes de ir a seguir. Depois de concluir a instalação do PHP, ative o serviço php-fpm e inicie-o.

sudo systemctl Ativar php-fpm sudo systemctl start php-fpm 

Verifique se o serviço PHP-FPM está em execução.

SUDO SYSTEMCTL STATUS PHP-FPM ● PHP-FPM.Serviço - o PHP FastCGI Process Manager carregado: carregado (/usr/lib/systemd/system/php -fpm.serviço; desabilitado; Preset do fornecedor: desativado) ativo: ativo (em execução) desde segunda-feira 2019-12-09 21:44:57 PST; 1h 24min atrás PID principal: 29280 (php-fpm) Status: "Processos ativos: 0, ocioso: 5, solicitações: 3, lento: 0, tráfego: 0Req/s" Tarefas: 6 (limite: 10321) Memória: 24.6m CGROUP: /Sistema.Slice/php-fpm.Serviço ├─29280 PHP-FPM: processo mestre (/etc/php-fpm.conf) ├─29281 php-fpm: pool www ├─29282 php-fpm: piscina www ├─29283 php-fpm: pool www ├─29284 php-fpm: pool www └─29285 phpm: pool ww deck 09 : 44: 57 Tecadmin.exemplo.com Systemd [1]: Iniciando o Php Fastcgi Process Manager… 09 de dezembro 21:44:57 Tecadmin.exemplo.com Systemd [1]: iniciou o PHP FastCGI Process Manager. 

Etapa 3 - Configure o PHP -FPM

Nesta etapa, você instalou todos os pacotes necessários. Vamos iniciar o processo de configuração. Primeiro, edite o arquivo de configuração do PHP-FPM:

sudo vim /etc /php-fpm.d/www.conf 

Faça as alterações como abaixo. As versões mais recentes do Nginx podem se conectar ao soquete usando um proxy. Portanto, verifique se a escuta está configurada para um arquivo de soquete.

Em seguida, defina o usuário e agrupe o mesmo que o servidor nginx usando. Se você precisar conectar o FPM de uma mudança remota do sistema, ouça.Permitido_clients para LAN IP em vez de 127.0.0.1.

; Ouça = 127.0.0.1: 9000 ouça =/run/php-fpm/www.Usuário de Sock = Grupo Www-Data = WWW-Data ouça.permitido_clients = 127.0.0.1 Ouça.proprietário = www-data ouça.Grupo = www-data ouça.modo = 0660 pm = dinâmico
1234567891011; Ouça = 127.0.0.1: 9000Listen =/run/php-fpm/www.Usuário de Sock = www-dataGroup = www-data ouça.permitido_clients = 127.0.0.1Listen.Proprietário = www-Datalisten.Grupo = WWW-Datalisten.modo = 0660pm = dinâmico

Depois de fazer as alterações reiniciar o serviço PHP-FPM para aplicar alterações.

sudo systemctl reinicie o php-fpm 

Etapa 4 - Crie bloco de servidor nginx

Agora, crie um bloco de servidor no nginx para o seu domínio e configure-o para usar o PHP-FPM para processar arquivos PHP. Crie um arquivo de bloco de servidor e edite em um editor de texto:

sudo vim/etc/nginx/conf.d/exemplo.com.conf 

Agora adicionada configuração de proxy usando um arquivo de soquete. Também configurou todo o script PHP para usar o manipulador de FPM para execução.

servidor Ouça 80 default_server; Exemplo server_name.com www.exemplo.com; root/var/www/html; # Carregar arquivos de configuração para o bloco de servidor padrão. incluir/etc/nginx/padrão.d/*.conf; localização / localização ~* \.php $ # com soquetes php-fpm unix fastcgi_pass unix:/run/php-fpm/www.meia; incluir fastcgi_params; fastcgi_param script_filename $ document_root $ fastcgi_script_name; fastcgi_param script_name $ fastcgi_script_name;
12345678910111213141516171819servidor Ouça 80 default_server; Exemplo server_name.com www.exemplo.com; root/var/www/html; # Carregar arquivos de configuração para o bloco de servidor padrão. incluir/etc/nginx/padrão.d/*.conf; localização / localização ~* \.php $ # com soquetes php-fpm unix fastcgi_pass unix:/run/php-fpm/www.meia; incluir fastcgi_params; fastcgi_param script_filename $ document_root $ fastcgi_script_name; fastcgi_param script_name $ fastcgi_script_name;

Salve o arquivo de configuração do bloco de servidor e reinicie o serviço Nginx para aplicar alterações.

sudo systemctl reiniciar nginx 

Etapa 5 - Ativar regras de firewall

Seu servidor está pronto para servir o aplicativo. Se houver um firewall ativado em seu sistema, verifique se as portas HTTP estão abertas para acessar de sistemas remotos.

Os seguintes comandos abrirão as portas necessárias para você.

sudo firewall-cmd-zone = public --permanent --add-service = http sudo firewall-cmd-zone = public --permanent --add-service = https sudo firewall-cmd--reload 

Etapa 6 - Configuração de teste

Tudo feito. Para testar o ambiente, crie um script PHP com phpinfo () função. Coloque este arquivo no seu servidor documento root. Use o comando abaixo para fazer isso.

eco "">/var/www/html/info.php 

Em seguida, acesse informações.PHP usando o endereço IP do servidor (para o VirtualHost padrão) para o seu domínio configurado no bloco do servidor nginx.

http: // localhost/info.php 

Deslize a página e verifique o valor de $ _Server ['server_software'] na seção PHP Variables. Isso mostrará o nome do servidor da web em execução.

Conclusão

Você configurou com sucesso um Nginx com PHP-FPM no seu sistema CentOS 8 ou RHEL 8 Linux. Agora você pode hospedar um site do seu servidor.