Web服务器与应用服务器

严格意义上Web服务器只负责处理HTTP协议,只能发送静态页面的内容。而JSP,ASP,PHP等动态内容须要经过CGI、FastCGI、ISAPI等接口交给其余程序去处理。这个其余程序就是应用服务器。好比Web服务器包括Nginx,Apache,IIS等。nginx

相对Web服务器应用服务器通常也支持HTTP协议,所以界限没这么清晰。可是应用服务器的HTTP协议部分仅仅是支持,通常不会作特别优化,应用服务器包括WebLogic,JBoss,Jettty,Tomcat等。不多有直接将应用服务器暴露给外面,而是和Nginx或Apache等配合,例如只让Tomcat处理JSP和Servlet部分。web

WEB服务器

经常使用WEB服务器中Nginx和Apache的区别:
nginx 相对于apache 的优势:
轻量级 :一样起web 服务,比apache 占用更少的内存及资源;
抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗;
高性能 :高度模块化的设计,编写模块相对简单;
社区活跃:各类高性能模块出品迅速;apache

apache 相对于nginx 的优势:
rewrite ,比nginx 的rewrite 强大;
模块超多,基本想到的均可以找到;
少bug ,nginx 的bug 相对较多;服务器

存在就是理由,通常来讲,须要性能的web 服务,用nginx 。若是不须要性能只求稳定,那就apache 吧。后者的各类功能模块实现得比前者,例如ssl 的模块就比前者好,可配置项多。这里要注意一点,epoll(freebsd 上是 kqueue )网络IO 模型是nginx 处理性能高的根本理由,但并非全部的状况下都是epoll 大获全胜的,若是自己提供静态服务的就只有寥寥几个文件,apache 的select 模型或许比epoll 更高性能。网络

应用服务器

_Tomcat 服务器 _
  目前最为流行的Tomcat服务器是Apache-Jarkarta开源项目中的一个子项目,是一个小型、轻量级的支持JSP和Servlet 技术的Web服务器,也是初学者学习开发JSP应用的首选。
Resin 服务器
  Resin是Caucho公司的产品,是一个很是流行的支持Servlet和JSP的服务器,速度很是快。Resin自己包含了一个支持HTML的Web服务器,这使它不只能够显示动态内容,并且显示静态内容的能力也绝不逊色,所以许多网站都是使用Resin服务器构建。
JBoss服务器
  JBoss是一个种听从JavaEE规范的、开放源代码的、纯Java的EJB服务器,对于J2EE有很好的支持。JBoss采用JML API实现软件模块的集成与管理,其核心服务又是提供EJB服务器,不包含Servlet和JSP的Web容器,不过它能够和Tomcat完美结合。
WebSphere 服务器
  WebSphere是IBM公司的产品,可进一步细分为 WebSphere Performance Pack、Cache Manager 和WebSphere Application Server等系列,其中WebSphere Application Server 是基于Java 的应用环境,能够运行于 Sun Solaris、Windows NT 等多种操做系统平台,用于创建、部署和管理Internet和Intranet Web应用程序。
WebLogic 服务器
WebLogic 是BEA公司的产品,可进一步细分为 WebLogic Server、WebLogic Enterprise 和 WebLogic Portal 等系列,其中 WebLogic Server 的功能特别强大。WebLogic 支持企业级的、多层次的和彻底分布式的Web应用,而且服务器的配置简单、界面友好。对于那些正在寻求可以提供Java平台所拥有的一切应用服务器的用户来讲,WebLogic是一个十分理想的选择。并发