"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Tutorial de php de configuração nginx+fastcgi

Tutorial de php de configuração nginx+fastcgi

Postado em 2025-04-16
Navegar:385

nginx e fastcgi: uma configuração de php de alto desempenho

executando aplicativos PHP com NGINX e FASTCGI oferece vantagens significativas de desempenho e escalabilidade sobre a abordagem tradicional do apache/mod_php. Detalhes deste guia, configurando esta arquitetura de alto desempenho no servidor Ubuntu, aproveitando a eficiência do fastcgi e o poder do nginx.

fastcgi: A Performance Boost

A sobrecarga inerente da CGI de criar um novo processo para cada solicitação é mitigada pelo fastcgi. O FastCGI mantém processos persistentes, reduzindo significativamente a CPU e o consumo de tempo. Isso leva a uma maior escalabilidade e eficiência geral do servidor. A imagem abaixo ilustra um processo CGI típico.

Setting Up PHP behind Nginx with FastCGI

instalação e configuração básica

  1. Instale o php e nginx: use o apt para instalar os pacotes necessários:

    sudo apt-get install php5-cli php5-fpm nginx
  2. Configure nginx: Evite editar diretamente a configuração Nginx padrão. Em vez disso, crie uma cópia:

    cd /etc/nginx
    sudo rm sites-enabled/default
    sudo cp sites-available/default sites-available/my-default
    sudo ln -s /etc/nginx/sites-available/my-default sites-enabled/default
  3. enable fastcgi: descomment as linhas relevantes em /etc/nginx/sites-available/my-Default para rotear solicitações de pHP para o serviço fastcgi (php5-fpm). A seção crucial deve se parecer com isso:

    location ~ \.php$ {
        fastcgi_split_path_info ^(. \.php)(/. )$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }
  4. Inicie nginx:

    sudo service nginx start
  5. Verifique a instalação: create info.php (contendo Acessando info.php no seu navegador deve exibir informações de PHP, confirmando a integração de nginx e php via fastcgi. A API do servidor deve mostrar "fpm/fastcgi".

Setting Up PHP behind Nginx with FastCGI aprimoramentos de configuração essenciais

    permissões da web root:
  • Ajuste as permissões para evitar constantes

    sudo USAGE: sudo adduser

    www-data sudo chgrp -r www -data/usr/share/nginx/html sudo chmod -r g rw/usr/share/nginx/html sudo chmod g s/usr/share/nginx/html
     sudo adduser  www-data
     sudo chgrp -R www-data /usr/share/nginx/html
     sudo chmod -R g rw /usr/share/nginx/html
     sudo chmod g s /usr/share/nginx/html
  • lidar com scripts inexistentes:
  • Adicione um

    TRY_FILES Diretiva à configuração nginx para aprimorar a segurança: localização ~ \ .php $ { try_files $ uri $ uri/ = 404; # ... outras diretivas fastcgi ... }

     location ~ \.php$ {
         try_files $uri $uri/ =404;
         # ... other FastCGI directives ...
     }
  • migrando do apache:
  • use conversores on -line para traduzir as diretivas do Apache (por exemplo,

    . Htaccess regras) para nginx equivalentes. Revise cuidadosamente a configuração convertida antes de implementá -la.

  • Conclusão

Este guia fornece uma base robusta para a configuração de um ambiente PHP de alto desempenho usando o nginx e o fastcgi. Seguindo estas etapas e incorporando os aprimoramentos recomendados de segurança e desempenho, você pode criar um servidor Web escalável e eficiente para seus aplicativos PHP. Lembre-se de sempre consultar a documentação oficial do NGINX e PHP para obter as informações mais atualizadas e as melhores práticas.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3