Maison > Article > Opération et maintenance > Quelle est la différence entre les serveurs Apache et Ngin ?
Nginx
1 Léger, écrit en C, le même service web prendra plus Moins de mémoire et ressources;
2. Anti-concurrence, nginx utilise epoll et kqueue comme modèle de développement, le traitement des requêtes est asynchrone et non bloquant, et la capacité de chargement est bien supérieure à celle d'Apache, tandis qu'Apache bloque. Dans des conditions de concurrence élevée, nginx peut maintenir une faible consommation de ressources et des performances élevées, tandis qu'Apache est sujet à une augmentation du nombre de processus et à un déni de service lorsque le traitement PHP est lent ou que la pression frontale est élevée
; 3. nginx gère bien les fichiers statiques et les performances de traitement statique sont plus de trois fois supérieures à celles d'Apache ;
4. La conception de nginx est hautement modulaire et l'écriture de modules est relativement simple ; >5. La configuration de nginx est simple et la configuration normale rend beaucoup de choses plus faciles, et après avoir modifié la configuration, vous pouvez utiliser -t pour tester s'il y a des problèmes avec la configuration. La configuration d'Apache est compliquée. constatez que la configuration est incorrecte au redémarrage, elle plantera ;
6. nginx sert de serveur d'équilibrage de charge. Prend en charge l'équilibrage de charge à 7 couches
7. serveur et peut être utilisé comme un très excellent serveur proxy de messagerie ;
8. Il est extrêmement facile à démarrer et peut presque être exécuté 7 heures sur 24, 24 heures sur 24, pas besoin de redémarrer même s'il fonctionne pendant plusieurs mois, et la version du logiciel peut être mise à jour sans interruption ;
9. La communauté est active et divers modules performants sont rapidement produits .
Apache1. La réécriture d'Apache est plus puissante que celle de Nginx. Si la réécriture est fréquente, utilisez Apache
2. présent, il y a tellement de modules que vous pouvez trouver pratiquement tout ce à quoi vous pouvez penser ;
3. Apache est plus mature et a moins de bugs, tandis que nginx a relativement plus de bugs
4. Apache est super stable ;
5. Apache a un support relativement simple pour PHP, et nginx doit être utilisé avec d'autres backends
6. Apache a des avantages dans la gestion des requêtes dynamiques, mais nginx l'est ; inutile à cet égard. Généralement, les requêtes dynamiques doivent être effectuées par Apache. , nginx convient aux requêtes statiques et inversées
7. Apache est toujours le courant dominant, avec des fonctionnalités riches, une technologie mature et une communauté de développement.
RésuméLa principale différence entre les deux est qu'Apache est un modèle multi-processus synchrone, une connexion correspond à un processus, tandis que nginx est asynchrone, avec plusieurs les connexions (niveau dix mille) peuvent correspondre à un processus.
De manière générale, pour les services web qui nécessitent des performances, utilisez nginx. Si vous n'avez pas besoin de performances et souhaitez simplement de la stabilité, pensez à Apache. Les différents 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. 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 lui-même des services statiques, il n'y a que quelques fichiers, et 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 réseau IO. L’application réelle doit encore être testée dans la pratique.
Une solution plus générale consiste à utiliser nginx sur le front-end pour résister à la concurrence et le cluster Apache sur le back-end, qui fonctionneront mieux ensemble.
Site Web chinois php, un grand nombre de
tutoriels d'introduction à Apachegratuits, bienvenue pour apprendre en ligne !
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!