Ce qui est plus rapide pour servir des pages PHP, Apache ou NGINX

15

J'ai lu un peu sur les principaux avantages de l'exécution de NGINX sur Apache pour servir des fichiers statiques . Cependant, je n'ai jamais vu un article parler d'Apache vs NGINX pour servir des pages PHP.

Question: qui est plus rapide pour servir des pages PHP , Apache ou NGINX?

Raedwald
la source

Réponses:

9

Personnellement, je pense que nginx fournit la bonne répartition entre ce qu'il fait lui-même (réception et traitement des requêtes HTTP) et ce qu'il délègue à d'autres processus (génération de page dynamique). Bien qu'il soit moins difficile de configurer Apache pour répondre aux requêtes PHP, tout exécuter dans Apache est un peu un problème de sécurité et de configuration (tous les fichiers accessibles par tous les scripts exécutés par tous les utilisateurs sur le serveur doivent être lisibles / inscriptibles par l'utilisateur qu'Apache fonctionne comme, ce qui signifie que les scripts PHP d'un utilisateur peuvent regarder les données des autres utilisateurs); exécuter chaque site PHP en tant que son propre utilisateur dans son propre contexte FastCGI est une bien meilleure option (au prix d'une configuration légèrement plus avancée jusqu'à ce que l'automatisation de la création de votre site soit établie pour faire la bonne chose).

En ce qui concerne "plus vite", Apache avec mod_php sera probablement plus rapide sur une seule demande, tant que la machine n'est pas contrainte par les ressources (passer à un écouteur FCGI externe puis revenir n'est pas aussi rapide). Cependant, Apache est beaucoup plus gros (en particulier lors de l'exécution avec mod_php), vous pourrez donc gérer plus de trafic avec nginx avant de devoir passer à une boîte plus grande.

womble
la source
5

L'auteur de nginx dit que nginx vise à servir des fichiers statiques et à être frontend, à transmettre des requêtes qui nécessitent des pages dynamiques vers d'autres serveurs comme apache.

Une autre bonne idée est de mettre en cache la requête dynamique d'Apache avec nginx si les données sont rarement mises à jour, par exemple, un article de blog archivé.

flashnik
la source
2

Dans la plupart des cas, nginx. Pour les projets à haute charge, nginx + php + php-fpm est un excellent choix.

Valery Viktorovsky
la source