Recentemente, foi sugerido que eu use o FastCGI com PHP. Agora eu fui para a página do FastCGI e li, mas realmente não entendo quais são as vantagens.
fonte
Recentemente, foi sugerido que eu use o FastCGI com PHP. Agora eu fui para a página do FastCGI e li, mas realmente não entendo quais são as vantagens.
Usando mod_php, cada trabalhador do Apache tem todo o interpretador PHP carregado nele. Como o Apache precisa de um processo de trabalho por solicitação recebida, você pode acabar rapidamente com centenas de trabalhadores do Apache em uso, cada um com seu próprio interpretador PHP carregado, consumindo grandes quantidades de memória.
(Observe que isso não é exatamente verdade, o Apache worker_mpm
permite que você atenda muitas solicitações com um único trabalhador Apache encadeado. No entanto, mesmo em 2009, essa não é a maneira recomendada de implantar o PHP devido a problemas suspeitos de encadeamento nas extensões PHP.)
Usar o PHP no modo fast_cgi (usar algo como spawn-fcgi no pacote lighttpd) tem os seguintes benefícios
FastCGI significa que os bits php não estão sendo executados no mesmo processo que os bits apache, ao contrário do mod_php. Essa separação pode ter algumas vantagens definitivas quando se trata de reiniciar o servidor ou lidar com aplicativos descontrolados - no caso mod_php, isso significa que o processo apache é "descontrolado", mas sob fastcgi é apenas um processo com o qual o apache está falando, então o servidor inteiro não precisa ser desativado.
Outra vantagem ainda não mencionada é o fato de que com mod_fcgid
(que é uma implementação mais recente para o uso do FastCGI no Apache) e suexec, você pode realizar configurações em que diferentes vhosts usam diferentes usuários do Linux para execução, o que pode ser um benefício real de segurança em um ambiente de hospedagem compartilhada .
Com mod_php, todos os vhosts compartilham o mesmo usuário, que é o usuário do Apache. Isso pode levar a problemas de segurança.