Apache、nginx的HTTP服务器和jetty、tomcat应用服务器

(一)、apache

和apache功能相近的是nginx,而不是tomcat

大名鼎鼎的Apache是非常著名的web服务器(HTTP服务器,静态解析,如HTML)但是可以通过插件也支持php例如著名的Lamp架构,tomcat是java应用服务器(动态解析,如JSP、PHP)。

apache 和tomcat组合,Apache支持静态页,Tomcat支持动态的,比如Servlet等,Apache只是作为一个转发,对JSP的处理是由Tomcat来处理的。Apche可以支持PHP,cgi,perl,但是要使用Java的话,你需要Tomcat在Apache后台支撑,将Java请求由Apache转发给Tomcat处理。

Apache是专门用了提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等)

Tomcat是符合Java EE的JSP、Servlet标准下开发的一个JSP服务器:Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用。

(二)、Jetty

而Jetty采用业界最优的开源Java Web引擎,将Java社区中下载量最大,用户数最多,标准支持最完备的Tomcat内核作为其Servlet容器引擎,并加以审核和调优。单纯的Tomcat性能有限,在很多地方表现有欠缺,如活动连接支持、静态内容、大文件和HTTPS等。除了性能问题,Tomcat的另一大缺点是它是一个受限的集成平台,仅能运行Java应用程序。企业在使用时Tomcat,往往还需同时部署Apache WebServer以与之整合。此配置较为繁琐,且不能保证性能的优越性。
Jetty通过使用APR和Tomcat本地技术的混合模型来解决Tomcat的诸多不足。混合技术模型从最新的操作系统技术里提供了最好的线程和事件处理。结果,Jetty达到了可扩展性,性能参数匹配甚至超越了本地Apache HTTP服务器或者IIS。譬如Jetty能够提供数据库连接池服务,不仅支持 JSP 等 Java 技术,同时还支持其他 Web 技术的集成,譬如PHP、.NET 两大阵营。

jetty和tomcat
Tomcat和Jetty都属于Servlet引擎吧,也都支持标准的servlet规范和JavaEE的规范。

1. Jetty的架构比Tomcat的更为简单。Jetty的架构是基于Handler来实现的,主要的扩展功能都可以用Handler来实现,扩展简单。Tomcat的架构是基于容器设计的,进行扩展是需要了解Tomcat的整体设计结构,不易扩展。

2.Jetty可以同时处理大量连接而且可以长时间保持连接,适合于web聊天应用等等。Tomcat适合处理少数非常繁忙的链接。

三、Nginx
Nginx具有很高的稳定性。其它HTTP服务器,当遇到访问的峰值,或者有人恶意发起慢速连接时,也很可能会导致服务器物理内存耗尽频繁交换,失去响应,只能重启服务器。例如当前apache一旦上到200个以上进程,web响应速度就明显非常缓慢了。而Nginx采取了分阶段资源分配技术,使得它的CPU与内存占用率非常低。nginx官方表示保持10,000个没有活动的连接,它只占2.5M内存,所以类似DOS这样的攻击对nginx来说基本上是毫无用处的。就稳定性而言,nginx比lighthttpd更胜一筹。
建议使用Nginx代替apache(高并发)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值