Risposte:
Personalmente, penso che nginx fornisca la giusta divisione tra le cose che fa (ricevere ed elaborare richieste HTTP) e ciò che delega ad altri processi (generazione dinamica di pagine). Mentre è meno facile configurare Apache per soddisfare le richieste PHP, l'esecuzione di tutto all'interno di Apache è un po 'un problema di sicurezza e configurazione (tutti i file a cui accedono tutti gli script eseguiti da tutti gli utenti sul server devono essere leggibili / scrivibili dall'utente che Apache funziona come, il che significa che gli script PHP di un utente possono guardare i dati di altri utenti); l'esecuzione di ogni sito PHP come proprio utente nel proprio contesto FastCGI è un'opzione molto migliore (a costo di una configurazione leggermente più anticipata fino a quando non si è effettuata l'automazione della creazione del sito per fare la cosa giusta).
Per quanto riguarda "più veloce", Apache con mod_php sarà probabilmente più veloce su una singola richiesta, a condizione che la macchina non sia vincolata alle risorse (passando a un listener FCGI esterno e quindi indietro non è altrettanto veloce). Tuttavia, Apache è molto più grasso ( specialmente quando si esegue con mod_php), quindi sarai in grado di servire più traffico con nginx prima di dover eseguire l'aggiornamento a un box più grande.
L'autore di nginx afferma che nginx mira a servire file statici e ad essere frontend, inoltrando richieste che richiedono pagine dinamiche ad altri server come apache.
Un'altra buona idea è quella di memorizzare nella cache la richiesta dinamica di apache con nginx se i dati vengono raramente aggiornati, ad esempio un post di blog archiviato.
Nella maggior parte dei casi nginx. Per progetti ad alto carico nginx + php + php-fpm è una scelta eccellente.