Maison > Article > Opération et maintenance > La différence entre Nginx Tomcat Apache
Apache devrait faire référence à un projet de l'Apache Software Foundation - le projet Apache HTTP Server
Nginx est également un serveur HTTP Open source ; logiciel (bien sûr, il peut également être utilisé comme serveur proxy de messagerie ou comme serveur proxy TCP général).
Le serveur HTTP est essentiellement une application - il s'exécute généralement sur le serveur, lie l'adresse IP du serveur et écoute un certain port TCP pour recevoir et traiter les requêtes HTTP, de sorte que le client (généralement des navigateurs tels que IE, Firefox et Chrome) peuvent obtenir des pages Web (format HTML), des documents (format PDF), de l'audio (format MP4), des vidéos (format MOV) et d'autres ressources sur le serveur via le protocole HTTP.
Apache Tomcat est un autre projet de la Fondation Apache. Par rapport au serveur HTTP Apache, Tomcat peut générer dynamiquement des ressources et les renvoyer au client.
Le serveur HTTP Apache et Nginx peuvent renvoyer le contenu d'un certain fichier texte au client via le protocole HTTP, mais le contenu de ce fichier texte est fixe, c'est-à-dire : peu importe la manière dont quelqu'un y accède, le contenu qu'il obtient est exactement le même. Nous appelons ces ressources des ressources statiques.
Les ressources dynamiques sont au contraire, le contenu accédé par différents clients à différents moments est différent.
Par exemple : une page qui affiche l'heure actuelle et une page qui affiche l'adresse IP actuelle. Le serveur HTTP Apache et Nginx eux-mêmes ne prennent pas en charge la génération de pages dynamiques, mais ils peuvent être pris en charge via d'autres modules (tels que via des scripts Shell, PHP, Python pour générer dynamiquement du contenu).
Si vous souhaitez utiliser des programmes Java pour générer dynamiquement du contenu de ressources, il est difficile de le faire en utilisant ce type de serveur HTTP.
La technologie Java Servlet et la technologie dérivée Java Server Pages permettent aux programmes Java d'avoir également la capacité de traiter les requêtes HTTP et de renvoyer du contenu (contrôlé dynamiquement par le programme Tomcat est le conteneur qui prend en charge l'exécution des applications Servlet/JSP). (Conteneur);
Tomcat fonctionne sur JVM. Comme le serveur HTTP, il lie l'adresse IP et écoute le port TCP. Il comprend également les accusations suivantes :
Le cycle de vie du. Le programme de servlet de gestion L'URL est mappée au servlet spécifié pour le traitement et le programme servlet coopère avec le programme servlet pour traiter la requête HTTP - génère un objet HttpServletResponse basé sur la requête HTTP et le transmet au servlet pour traitement, et renvoie le contenu généré par l'objet HttpServletResponse dans le Servlet vers le navigateur.
Bien que Tomcat puisse également être considéré comme un serveur HTTP, il est généralement encore utilisé avec Nginx :
(1) Séparation des ressources dynamiques et statiques - distribution à l'aide de la fonction proxy inverse de Nginx Demande : Toutes les demandes de ressources dynamiques sont transmises à Tomcat, tandis que les demandes de ressources statiques (telles que des images, des vidéos, des fichiers CSS, JavaScript, etc.) sont directement renvoyées au navigateur par Nginx, ce qui peut réduire considérablement la pression sur Tomcat.
(2) Équilibrage de charge. Lorsque la pression commerciale augmente, une seule instance Tomcat peut ne pas suffire à la gérer. À l'heure actuelle, plusieurs instances Tomcat peuvent être démarrées pour une expansion horizontale, et la fonction d'équilibrage de charge de Nginx peut le faire. Distribuez à différentes instances pour le traitement via des algorithmes
Pour plus d'articles techniques liés à Nginx, veuillez visiter la colonne Tutoriel d'utilisation de Nginx pour apprendre !
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!