Como instalar o nginx com php-fpm no CentOS 8
- 1941
- 101
- Robert Wunsch DVM
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âmico1234567891011 | ; 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;12345678910111213141516171819 | 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; |
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.
- « Como instalar o nginx com o PHP-FPM no Debian 10
- Como instalar o Apache com o PHP-FPM no Debian 10 »