Maison  >  Article  >  Opération et maintenance  >  Caractéristiques et fonctions de Ngin en tant que serveur HTTP

Caractéristiques et fonctions de Ngin en tant que serveur HTTP

(*-*)浩
(*-*)浩original
2019-11-23 16:55:093156parcourir

Caractéristiques et fonctions de Ngin en tant que serveur HTTP

Nginx, en tant que serveur HTTP, possède les fonctionnalités de base suivantes : (Apprentissage recommandé : Tutoriel Nginx)

Traitez les fichiers statiques, les fichiers d'index et l'indexation automatique ; ouvrez la mémoire tampon des descripteurs de fichiers.

Accélération du proxy inverse sans cache, équilibrage de charge simple et tolérance aux pannes.

FastCGI, équilibrage de charge simple et tolérance aux pannes.

Structure modulaire. Y compris des filtres tels que le gzipping, les plages d'octets, les réponses fragmentées et le filtre SSI. Si plusieurs SSI présents sur une même page sont traités par FastCGI ou un autre serveur proxy, ce traitement peut s'exécuter en parallèle sans s'attendre.

Prend en charge SSL et TLSSNI.

Nginx est spécialement développé pour l'optimisation des performances. La performance est sa considération la plus importante, et la mise en œuvre accorde une grande attention à l'efficacité. Il prend en charge le modèle Poll du noyau et peut supporter une charge élevée. Les rapports indiquent qu'il peut prendre en charge jusqu'à 50 000 connexions simultanées.

Nginx a une grande stabilité. Lorsque d'autres serveurs HTTP rencontrent des pics d'accès ou que quelqu'un initie par malveillance une connexion lente, cela risque également d'entraîner un épuisement de la mémoire physique du serveur, des échanges fréquents et une perte de réponse, et le serveur ne peut être redémarré.

Par exemple, une fois qu'Apache compte plus de 200 processus, la vitesse de réponse du Web sera évidemment très lente. Nginx adopte une technologie d'allocation de ressources par étapes, ce qui rend son utilisation du processeur et de la mémoire très faible.

Nginx déclare officiellement maintenir 10 000 connexions inactives. Il n'occupe que 2,5 Mo de mémoire, donc les attaques comme DOS sont fondamentalement inutiles pour Nginx. En termes de stabilité, Nginx est meilleur que lighthttpd.

Nginx prend en charge le déploiement à chaud. Il est particulièrement simple à démarrer et peut fonctionner quasiment 24h/24 et 7j/7 sans avoir besoin de redémarrer même s'il fonctionne pendant plusieurs mois. Vous pouvez également mettre à niveau la version du logiciel sans interrompre le service.

Nginx adopte le modèle maître-esclave, qui peut tirer pleinement parti de SMP et réduire le délai de blocage des processus de travail dans les E/S disque. Lorsque vous utilisez des appels select()/poll(), vous pouvez également limiter le nombre de connexions par processus.

La qualité du code Nginx est très élevée, le code est très standardisé, les techniques sont matures et l'extension du module est également facile. Il convient particulièrement de mentionner les puissantes chaînes Upstream et Filter. Upstream constitue une bonne base pour l'écriture de modules tels que le proxy inverse et la communication avec d'autres serveurs.

La partie la plus intéressante de la chaîne de filtres est que chaque filtre n'a pas besoin d'attendre que le filtre précédent termine son exécution. Il peut utiliser la sortie du filtre précédent comme entrée du filtre actuel, ce qui est un peu comme le pipeline Unix.

Cela signifie qu'un module peut commencer à compresser la requête envoyée depuis le serveur backend et peut rediriger le flux de compression vers le client avant que le module n'ait reçu l'intégralité de la requête du serveur backend.

Nginx adopte certaines des dernières fonctionnalités fournies par le système d'exploitation telles que la prise en charge de sendfile (Linux2.2+), accept-filter (FreeBSD4.1+), TCP_DEFER_ACCEPT (Linux 2.4+), donc grandement amélioration des performances.

Bien sûr, Nginx est encore très jeune et il y a quelques problèmes : Par exemple : Nginx a été créé par des Russes. Bien qu'il y ait eu relativement peu de documents ces dernières années, la documentation actuelle est relativement complète, avec la plupart. Il existe également de nombreuses informations en anglais et en chinois, et des livres et documents spécialisés sont disponibles pour la recherche.

Les auteurs et la communauté de Nginx travaillent constamment dur pour l'améliorer. Nous avons des raisons de croire que Nginx continuera à se partager le marché des serveurs HTTP légers à un taux de croissance élevé et aura un avenir 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
Article précédent:Qu'est-ce que le serveur NginxArticle suivant:Qu'est-ce que le serveur Nginx