Nginx serait beaucoup plus efficace en termes de ressources et plus facile à configurer qu'Apache. Un ami m'a dit "qu'il ne peut pas faire certaines choses qu'Apache peut faire, mais je n'ai pas besoin de ces choses de toute façon."
Pourtant, je suis curieux: quel genre de choses Apache peut-il faire que Nginx ne peut pas? Je n'ai pas besoin d'une liste exhaustive, juste une idée générale des scénarios où Apache serait un meilleur choix.
la source
Apache a une grande quantité de modules disponibles qui permettent certains scénarios de déploiement qui ne sont pas possibles avec Nginx.
Un exemple est
mod_dav_svn
pour l'hébergement de Subversion sur HTTP. Il est uniquement disponible pour Apache. D'autres exemples notables sont des choses commemod_perl
oumod_php
. Alors que la plupart des configurations traditionnelles peuvent également être effectuées via FCGI (ou WSGI, ou passager), avoir un interprète en cours peut être bénéfique si vous devez par exemple implémenter des schémas d'authentification personnalisés à l'intérieur du serveur Web (comme c'est le cas pour l'hébergement git ou svn avec Redmine / ChiliProject).Généralement, votre ami a raison: les scénarios de déploiement les plus courants peuvent également être résolus avec nginx, mais Apache est toujours plus flexible si vous devez créer des choses plus "spéciales".
la source
La version courte de l'histoire est qu'Apache a beaucoup de plugins et de communauté construits autour d'elle. Nginx, n'existe que depuis peu de temps comparativement, et il n'a donc pas encore la base de code communautaire.
Quand les gens me demandent quelle est la différence, Nginx est un couteau à steak, il est bon pour une variété d'utilisations et fait très bien certaines choses. Apache est un couteau suisse, il a une tonne de fonctionnalités différentes et les fait toutes assez bien.
la source
Beaucoup de modules et une base installée ginourmous, pour commencer. Mais ce n'est pas exactement ce que Apache a que vous devriez regarder, est ce que Apache fait : cela fonctionne beaucoup mieux pour servir du contenu dynamique comme PHP, Python, Perl, Java, etc.
Bien sûr, vous pouvez aussi le faire avec Nginx (mais c'est un peu hack IMHO), mais les solutions sont beaucoup plus éprouvées et matures en cours d'exécution sur Apache que sur NginX, qui à son tour est bien meilleur qu'Apache pour servir des charges élevées et une superbe réécriture / proxy inverse.
Pour chaque travail, le bon outil!
la source