Respostas:
Pessoalmente, acho que o nginx fornece a divisão correta entre as coisas que ele faz (receber e processar solicitações HTTP) e o que delega para outros processos (geração dinâmica de páginas). Embora seja menos esforço configurar o Apache para atender às solicitações de PHP, a execução de tudo no Apache é um problema de segurança e configuração (todos os arquivos acessados por todos os scripts executados por todos os usuários no servidor devem ser legíveis / graváveis pelo usuário que o Apache é executado, o que significa que os scripts PHP de um usuário podem examinar os dados de outros usuários); executar cada site PHP como seu próprio usuário em seu próprio contexto FastCGI é uma opção muito melhor (ao custo de uma configuração um pouco mais adiantada até que você tenha a automação de criação de site discada para fazer a coisa certa).
Quanto mais "rápido", o Apache com mod_php provavelmente será mais rápido em uma única solicitação, desde que a máquina não tenha recursos limitados (passar para um ouvinte externo do FCGI e depois voltar não é tão rápido). No entanto, o Apache é muito mais gordo ( especialmente quando executado com mod_php), então você poderá servir mais tráfego com o nginx antes de precisar atualizar para uma caixa maior.
O autor do nginx diz que o nginx tem como objetivo servir arquivos estáticos e ser front-end, encaminhando solicitações que requerem páginas dinâmicas para outros servidores como o apache.
Outra boa idéia é armazenar em cache a solicitação dinâmica do apache com nginx se os dados raramente forem atualizados, por exemplo, uma postagem de blog arquivada.
Na maioria dos casos, nginx. Para projetos de alta carga, nginx + php + php-fpm é uma excelente escolha.