J'ai récemment enquêté sur les différences entre Apache et Nginx et je suis confus quant à ce que je devrais choisir.
J'ai fait quelques recherches mais il n'y a pas de comparaison définitive entre les deux et je me demandais si quelqu'un ici pourrait donner leur avis sur les différences entre les deux.
Mes connaissances actuelles me permettent de comprendre que mod_php est plus rapide et plus sécurisé que fastcgi mais Apache est bien pire quand il s'agit de connexions simultanées et de consommation de mémoire.
Mon site utilise beaucoup de longs sondages mais a une base Web non AJAX (c'est-à-dire Apache avec de longs sondages par-dessus).
Ma solution originale aux problèmes de mémoire d'Apaches consistait à envoyer l'interrogation longue via node.js, puis à obtenir que node.js accède à Apache toutes les 2 secondes, auquel cas Apache n'aurait pas de connexion ouverte, mais plutôt node.js. Je me suis rendu compte que ce n'était peut-être pas assez bon et j'envisage différentes solutions. Je suis toujours intéressé à savoir si mon idée originale aurait fonctionné.
Alors, quel est le meilleur pour le web moderne? Apache ou Nginx?
Mise à jour: Toutes les suggestions données étaient bonnes et valables. Je suis allé avec la deuxième idée originale qui est d'utiliser un serveur Nginx complet. Je suis convaincu qu'étant un serveur dédié, je ne pourrais pas souffrir de problèmes de sécurité de fastcgi et comme mes longs scripts d'interrogation doivent être écrits en PHP, j'ai besoin d'un serveur capable de gérer des connexions simultanées à forte charge et Apache ne peut tout simplement pas le faire, peu importe combien Je change la structure, il aura toujours faim de mémoire.
J'ai marqué la réponse de Martin F depuis qu'il a donné une réponse si claire et complète à mes questions que je pense qu'il mérite la note, cependant, les trois réponses étaient bonnes et valides et examineront très certainement l'utilisation du proxy inverse pour un autre site que je possède puisque je viens de trouver quelque chose de très très très kool que Nginx peut faire en tant que mandataire.
Merci,
la source
Je suggère d'exécuter nginx comme proxy inverse. Il gérera tous vos fichiers statiques et mis en cache (où c'est considérablement plus rapide que Apache / moins de surcharge de mémoire), puis transmettra toutes les demandes de contenu dynamique à Apache.
la source
Je ne suis pas sûr que mod_php soit plus rapide que ses alternatives, où avez-vous lu ceci? J'ai fait des tests en laboratoire avec nginx + php-fpm, et d'après ce que j'ai mesuré, il bat toutes les autres configurations.
Jetez un œil à cette configuration: http://interfacelab.com/nginx-php-fpm-apc-awesome/
Je l'ai configuré presque de la même manière, sauf que j'utilise des packages PHP à partir de http://www.dotdeb.org/ - qui inclut un package php-fpm et un script init prêt à l'emploi. Je n'utilise ni memecache ni syck.
la source