Le serveur Nginx (engine-X) est un serveur web. Il s’agit d’un serveur HTTP et proxy inverse open source et hautes performances. Il peut également fournir des fonctions telles que les services proxy IMAP/POP3/SMTP. (Apprentissage recommandé : Utilisation de Nginx)
**Nginx fonctionne de manière multi-processus. **Il prend également en charge le multi-threading, mais la méthode principale reste la méthode multi-processus, qui est également la méthode par défaut de Nginx.
Une fois Nginx démarré, il s'exécutera en arrière-plan en tant que démon dans le système Unix. Le processus en arrière-plan comprend un processus maître et plusieurs processus de travail.
Le processus maître est principalement utilisé pour gérer le processus de travail, notamment : recevoir des signaux du monde extérieur, envoyer des signaux à chaque processus de travail, surveiller l'état d'exécution du processus de travail et la fin du processus de travail ( dans des circonstances anormales), il redémarrera automatiquement le nouveau processus de travail.
Les événements réseau de base sont gérés dans le processus de travail. Plusieurs processus de travail sont peer-to-peer. Ils sont en concurrence égale pour les demandes des clients et chaque processus est indépendant les uns des autres.
Une demande ne peut être traitée que dans un seul processus de travail. Un processus de travail ne peut pas traiter les demandes d'autres processus. Le nombre de processus de travail peut être défini. Généralement, nous le définirons pour qu'il soit cohérent avec le nombre de cœurs de processeur sur la machine.
Avantages
Connexions simultanées élevées
Le test officiel peut prendre en charge 50 000 connexions simultanées, et il a été testé en conditions réelles environnements de production 20 000 à 30 000 connexions simultanées. Le serveur Nginx est développé spécifiquement pour l'optimisation des performances. Il prend en charge le modèle Poll du noyau et peut résister aux tests de charge élevée.
Faible consommation de mémoire
Le serveur Nginx adopte une technologie d'allocation de ressources progressive, ce qui rend son utilisation du processeur et de la mémoire très faible.
Fichier de configuration simple
Faible coût : le serveur Nginx est un logiciel open source.
Prend en charge les règles de réécriture Rewrite
Peut diviser les requêtes HTTP en différents groupes de serveurs backend en fonction de différents noms de domaine et URL.
Fonction de vérification de l'état intégrée.
Si un serveur Web dans le backend du proxy du serveur Nginx tombe en panne, l'accès frontal ne sera pas affecté.
Économisez la bande passante
Prend en charge la compression GZIP et peut ajouter l'en-tête du cache local du navigateur.
Haute stabilité.
La stabilité du serveur Nginx est très élevée. Lorsque d'autres serveurs HTTP rencontrent des pics d'accès ou que quelqu'un initie de manière malveillante une connexion lente, il est probable que la mémoire physique du serveur soit épuisée, des échanges fréquents se produiront et le serveur perdra la réponse (le serveur ne pourra être redémarré).
De plus, le serveur Nginx adopte le modèle maître-esclave, qui peut utiliser pleinement les avantages de SMP et réduire le délai de blocage du processus de travail dans les E/S disque.
Le code du serveur Nginx est de haute qualité et standardisé, et l'extension des modules est également facile. Le serveur 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+) et TCP_DEFER_ACCEPT (Linux 2.4+), améliorant ainsi considérablement les performances.
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!