Maison  >  Article  >  développement back-end  >  Comparez les avantages et les inconvénients d'Apache et de Nginx

Comparez les avantages et les inconvénients d'Apache et de Nginx

巴扎黑
巴扎黑original
2017-08-17 09:07:451537parcourir


Résumé : Comparaison des avantages et des inconvénients d'Apache et de Nginx 1. Avantages de nginx par rapport à Apache : Léger, il sert également de service web et consomme moins de mémoire et de ressources qu'Apache. Anti-concurrence, nginx traite les requêtes de manière asynchrone et non bloquante, tandis qu'Apache bloque En cas de concurrence élevée, nginx peut maintenir un niveau bas...

.

Comparaison des avantages et des inconvénients d'Apache et de Nginx Apache consomme moins de mémoire et de ressources
Résistance à la concurrence, nginx traite les requêtes de manière asynchrone et non bloquante, tandis qu'Apache bloque Sous une concurrence élevée, nginx peut maintenir. faibles ressources, faible consommation et hautes performances.
Conception hautement modulaire, l'écriture de modules est relativement simple
Communauté active, divers modules hautes performances sont produits rapidement
Avantages d'Apache par rapport à nginx :
réécriture, plus puissant que la réécriture de nginx
Il y a tellement de modules, en gros tout ce à quoi vous pouvez penser peut être trouvé
Moins de bugs, celui de nginx Relativement nombreux de bugs
Super stable
La raison pour laquelle il existe est que d'une manière générale , nginx est utilisé pour les services Web qui nécessitent des performances. Si vous n'avez pas besoin de performances et souhaitez simplement de la stabilité, utilisez Apache. Divers modules fonctionnels de ce dernier sont mieux implémentés que le premier. Par exemple, le module SSL est meilleur que le premier et comporte plus d'éléments configurables. Une chose à noter ici est que le modèle d'E/S réseau epoll (kqueue sur freebsd) est la raison fondamentale des performances de traitement élevées de nginx, mais epoll ne gagne pas dans tous les cas s'il fournit des services statiques, seulement quelques fichiers, le modèle sélectionné d'Apache. peut être plus performant qu'epoll. Bien entendu, il ne s'agit que d'une hypothèse basée sur les principes du modèle d'E/S réseau. L'application réelle doit encore être testée dans la pratique.

2. En tant que serveur Web : par rapport à Apache, Nginx utilise moins de ressources, prend en charge davantage de connexions simultanées et reflète une efficacité plus élevée. Cela rend Nginx particulièrement populaire auprès des fournisseurs d'hébergement virtuel. Dans le cas d'une concurrence de connexion élevée, Nginx est une bonne alternative au serveur Apache : Nginx est l'une des plates-formes logicielles souvent choisies par les propriétaires d'entreprises d'hébergement virtuel aux États-Unis. Elle peut prendre en charge des réponses allant jusqu'à 50 000 connexions simultanées. Nginx pour Nous avons choisi epoll et kqueue comme modèle de développement.
Nginx comme serveur d'équilibrage de charge : Nginx peut non seulement prendre en charge directement les programmes Rails et PHP en interne pour servir le monde extérieur, mais également prendre en charge des services externes en tant que serveur proxy HTTP. Nginx est écrit en C, la surcharge des ressources système et l'efficacité de l'utilisation du processeur sont bien meilleures que Perlbal
En tant que serveur proxy de messagerie : Nginx est également un très excellent serveur proxy de messagerie (l'un des premiers objectifs du développement de ce produit était également). pour servir de serveur proxy de messagerie), Last.fm décrit une expérience d'utilisation réussie et merveilleuse
Nginx est un serveur très simple à installer, possède un fichier de configuration très concis (il peut également prendre en charge la syntaxe Perl), et a très peu de bugs : Nginx est particulièrement simple à démarrer, et peut presque réaliser un fonctionnement ininterrompu 7*24, même s'il fonctionne pendant plusieurs mois, il n'est pas nécessaire de redémarrer. Vous pouvez également mettre à niveau la version du logiciel sans interrompre le service. 🎜>
3. La configuration de Nginx est simple, Apache est compliquée
Les performances de traitement statique de Nginx sont plus de 3 fois supérieures à celles d'Apache
La prise en charge d'Apache pour PHP est relativement simple et Nginx doit être utilisé avec autres backends
Apache a plus de composants que Nginx
Maintenant, Nginx est le premier choix pour les serveurs Web

4 *La principale différence est qu'Apache est un modèle multi-processus synchrone, une connexion correspond à. un processus ; nginx est asynchrone, plusieurs connexions (10 000 niveaux) peuvent correspondre à un processus

5. nginx Il est bon pour traiter les fichiers statiques et consomme moins de mémoire. Mais il ne fait aucun doute qu'Apache est toujours le courant. grand public et possède de nombreuses fonctionnalités riches. Il doit donc encore être adapté. Bien sûr, s'il est déterminé que nginx répond aux besoins, alors utiliser nginx sera un moyen plus économique

6. utilisation, la capacité de chargement de nginx est bien supérieure à celle d’Apache. *Le nouveau serveur utilise également nginx. De plus, après avoir modifié la configuration de nginx, vous ne pouvez pas tester s'il y a un problème avec la configuration. Lorsque Apache redémarre, il s'avère que la configuration est incorrecte et elle plantera maintenant. Il existe de nombreux sites de cluster. Le nginx frontal est anti-concurrence et le cluster Apache back-end, la coopération est également bonne.

7. Il est inutile que nginx gère les requêtes dynamiques. Généralement, Apache est requis pour gérer les requêtes dynamiques, et nginx ne convient qu'aux requêtes statiques et inversées.

8. D'après mon expérience personnelle, nginx est un très bon serveur frontal avec de très bonnes performances de chargement. Il est facile d'exécuter nginx sur Laoben et d'utiliser webbench pour simuler 10 000 requêtes de fichiers statiques. Apache a un bon support pour les langages tels que PHP. De plus, Apache dispose d'un réseau de support solide. Il a été développé plus longtemps que nginx et présente moins de bugs. Cependant, Apache a l'inconvénient de ne pas prendre en charge les charges de traitement multicœurs. . Il est recommandé d'utiliser nginx comme frontal et back-end. Il est recommandé aux grands sites Web d'utiliser la fonction cluster de nginx

9. Il y a deux raisons principales pour lesquelles Nginx est meilleur qu'Apache : 1. Nginx lui-même est un serveur proxy inverse 2. Nginx prend en charge l'équilibrage de charge de couche 7 ; d'autres, bien sûr, Nginx peuvent prendre en charge une concurrence plus élevée qu'Apache, mais selon les statistiques de NetCraft ; Selon les statistiques d'avril 2011, Apache représente toujours 62,71 %, tandis que Nginx représente 7,35 %. Par conséquent, en général, Aapche reste le premier choix pour la plupart des entreprises en raison de sa communauté technologique et de développement mature et de ses très bonnes performances.

10. Vos besoins en serveur web déterminent votre choix. Dans la plupart des cas, nginx est meilleur qu'APACHE, comme le traitement des fichiers statiques, la prise en charge de PHP-CGI, la fonction de proxy inverse, le cache frontal, la maintenance de la connexion, etc. En mode Apache+PHP (prefork), si le traitement PHP est lent ou si la pression frontale est élevée, il est facile que le nombre de processus Apache augmente, entraînant un déni de service.

11. Vous pouvez jeter un œil au module nginx lua : https://github.com/chaoslaw... Apache a plus de modules que nginx Apache ne peut être implémenté directement avec lua. populaire. Pourquoi ? La plupart des gens sont trop paresseux pour mettre à jour vers nginx ou apprendre de nouvelles choses

12. Pour nginx, j'aime le fait que son fichier de configuration soit très concis. La configuration régulière rend beaucoup de choses simples et efficaces, consomme moins de ressources et a. fonctions proxy. Puissant, très adapté au serveur de réponse frontal

13. Apache a des avantages en termes de dynamique de traitement, Nginx a une meilleure concurrence et une faible utilisation de la mémoire CPU si la réécriture est fréquente, alors Apache est le meilleur

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn