nginx
Nginx (engine x) est un serveur Web HTTP et proxy inverse hautes performances, et fournit également des services IMAP/POP3/SMTP. Nginx a été développé par Igor Sesoev pour le deuxième site Rambler.ru le plus visité de Russie (russe : Рамблер). La première version publique 0.1.0 a été publiée le 4 octobre 2004.
Il publie le code source sous une licence de type BSD et est connu pour sa stabilité, son riche ensemble de fonctionnalités, ses exemples de fichiers de configuration et sa faible consommation de ressources système. Le 1er juin 2011, nginx 1.0.4 est sorti.
Nginx est un serveur Web/proxy inverse léger et un serveur proxy de messagerie (IMAP/POP3), publié sous le protocole de type BSD. Ses caractéristiques sont qu'il occupe moins de mémoire et possède de fortes capacités de concurrence. En fait, les capacités de concurrence de nginx fonctionnent mieux entre les serveurs Web du même type. Les utilisateurs de sites Web nginx en Chine continentale incluent : Baidu, JD.com, Sina, NetEase, Tencent, Taobao, etc.
Cours recommandé : Tutoriel Java.
tomcat
Tomcat est un projet central du projet Jakarta de l'Apache Software Foundation, développé conjointement par Apache, Sun et d'autres sociétés et individus développés. Grâce à la participation et au support de Sun, les dernières spécifications Servlet et JSP peuvent toujours être reflétées dans Tomcat. Tomcat 5 prend en charge les dernières spécifications Servlet 2.4 et JSP 2.0. Parce que Tomcat dispose d'une technologie avancée, de performances stables et est gratuit, il est profondément apprécié par les passionnés de Java et reconnu par certains développeurs de logiciels, ce qui en fait un serveur d'applications Web populaire.
Le serveur Tomcat est un serveur d'applications Web open source gratuit. Il s'agit d'un serveur d'applications léger qui est couramment utilisé dans les systèmes de petite et moyenne taille et dans les situations où il n'y a pas beaucoup d'utilisateurs à accès simultané. est un outil idéal pour le développement et le premier choix pour le débogage des programmes JSP. Pour un débutant, vous pouvez y penser de cette façon : lorsque le serveur Apache est configuré sur une machine, il peut être utilisé pour répondre aux demandes d'accès à la page HTML (une application sous le Standard Universal Markup Language). En fait, Tomcat est une extension du serveur Apache, mais il s'exécute indépendamment lors de son exécution. Ainsi, lorsque vous exécutez Tomcat, il s'exécute en fait comme un processus distinct d'Apache.
L'astuce est que lorsqu'il est configuré correctement, Apache sert les pages HTML et Tomcat exécute réellement les pages JSP et les servlets. De plus, Tomcat, comme les serveurs Web tels que IIS, a pour fonction de traiter les pages HTML. De plus, il s'agit également d'un conteneur Servlet et JSP. Un conteneur Servlet indépendant est le mode par défaut de Tomcat. Cependant, la capacité de Tomcat à gérer le HTML statique n'est pas aussi bonne que celle du serveur Apache. La dernière version de Tomcat est actuellement la 9.0.
La différence entre nginx et Tomcat
nginx est souvent utilisé comme service de contenu statique et serveur proxy pour transmettre directement les requêtes externes aux services d'application suivants, tandis que Tomcat est plus couramment utilisé comme conteneur d'applications, qui permet aux applications Web Java de s'y exécuter, correspond au même niveau que jboss, jetty et d'autres choses.
Mais rien n'est sûr. Nginx peut également fournir des fonctions d'application via le développement de modules, et Tomcat peut également fournir directement des services HTTP. Il est généralement utilisé dans les intranets et les scénarios qui ne nécessitent pas de petits services tels que le contrôle de flux.
À proprement parler, Nginx devrait être appelé « Serveur HTTP » ; tandis que Tomcat est un « Serveur d'applications », ou plus précisément, un conteneur pour les applications « Servlet/JSP » (Applications Ruby/Python développées dans d'autres langages ne peut pas fonctionner directement sur Tomcat).
Un serveur HTTP s'occupe de la transmission et du contrôle d'accès au niveau du protocole HTTP, donc sur Apache/Nginx, vous pouvez voir des fonctions telles que le proxy et l'équilibrage de charge. Le client accède aux ressources stockées sur le serveur (fichiers HTML, fichiers image, etc.) via le serveur HTTP. Grâce à la technologie CGI, le contenu traité peut également être distribué via un serveur HTTP, mais un serveur HTTP ne transmet toujours fidèlement les fichiers du serveur au client que via le protocole HTTP.
Le serveur d'applications est un conteneur pour l'exécution d'applications. Il doit d'abord prendre en charge le runtime du langage de développement (pour Tomcat, il s'agit de Java) pour garantir que l'application puisse s'exécuter normalement sur le serveur d'applications. Deuxièmement, il doit prendre en charge les spécifications liées aux applications, telles que les bibliothèques de classes et les fonctionnalités de sécurité. Pour Tomcat, il est nécessaire de fournir des bibliothèques de classes standard, des interfaces, etc. requises pour le fonctionnement de JSP/Sevlet. Pour plus de commodité, les serveurs d'applications intègrent souvent les fonctions du serveur HTTP, mais ils ne sont pas aussi puissants que les serveurs HTTP professionnels. Par conséquent, les serveurs d'applications s'exécutent souvent derrière le serveur HTTP, exécutent des applications et convertissent le contenu dynamique en contenu statique via le serveur HTTP distribué. clients.
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!