2017-07-13 09:34:45.0|分类: tomcat|浏览量: 2174
Web Server 的概念太宽泛了,Apache/Nginx 应该叫做「HTTP Server」而 Tomcat 则是一个「Application Server」 Apache:是C语言实现的,专门用来提供HTTP服务。 特性:简单、速度快、性能稳定、可配置(代理) 1、主要用于解析静态文本,并发性能高,侧重于HTTP服务; 2、支持静态页(HTML),不支持动态请求如:CGI、Servlet/JSP、PHP、ASP等; 3、具有很强的可扩展性,可以通过插件支持php,还可以单向Apache连接Tomcat实现连通; 4、Apache是世界使用排名第一的Web服务器。 Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 轻量级,同样起web 服务,比apache 占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 高度模块化的设计,编写模块相对简单 社区活跃,各种高性能模块出品迅速啊 Nginx本身就是一个反向代理服务器 Nginx支持7层负载均衡 nginx 适合做静态,简单,效率高 Tomcat:是Java开发的一个符合JavaEE的Servlet规范的JSP服务器(Servlet容器),是 Apache 的扩展。 特性:免费的Java应用服务器 1、主要用于解析JSP/Servlet,侧重于Servlet引擎; 2、支持静态页,但效率没有Apache高;支持Servlet、JSP请求; 3、Tomcat本身也内置了一个HTTP服务器用于支持静态内容,可以通过Tomcat的配置管理工具实现与Apache整合。 tomcat与jetty都是一种servlet引擎,他们都支持标准的servlet规范和javaEE规范 jetty和tomcat性能方面差异不大 jetty可以同时处理大量链接而且可以长时间保持链接,适合于javaWeb聊天应用 jetty的架构简单,因此作为服务器,jetty可以按需加载组件,减少不需要的组件,减少了服务器内存开销,从而提高服务器性能 jetty默认采用NIO结束来处理I/o请求上更占优势,在处理静态资源时,性能较高 tomcat适合处理少数非常繁忙的连接,也就是连接生命周期短的话,tomcat的总体性能更高 tomcat默认采用B/o处理I/o请求,在处理静态资源时,性能较差 Apache + Tomcat 两者整合后优点: 如果请url是静态网页(或者图片、js、css文件)则由Apache处理,并将结果返回;如果是动态请求,Apache会将解析工作转发给Tomcat处理,Tomcat处理后将结果通过Apache返回。这样可以达到分工合作,实现负载远衡,提高系统的性能。 nginx+ Tomcat 两者整合后优点: 如果请url是静态网页(或者图片、js、css文件)则由nginx处理,并将结果返回;如果是动态请求,nginx会将解析工作转发给Tomcat处理,Tomcat处理后将结果通过nginx返回。这样可以达到分工合作,实现负载远衡,提高系统的性能。 |