tomcat与nginx,apache的区别是什么?

2021-12-18科技355

Tomcat与Nginx、Apache的关系如下图。由配送中心选择Apache、Nginx中的某一辆货车将包裹送给客户。虽然Apache、Nginx两辆车的用途是一样的,仔细区分它们两还是有区别的,比如:货物装载的速度、方式不一样,Apache有水箱可以直接运送活鱼而Nginx没有。

Tomcat有点像装活鱼的特殊包装。经过特殊包装打包的活鱼就可以通过Nginx和Apache运送到用户手中。另外,使用Tomcat包含了一种慢速的配送服务,所以配送中心一般都采用Nginx、Apache等配送。

通过上面的比方引申Apache、Nginx、Tomcat的实际用途Apache全称Apache 软件基金会的一个开放源码的网页伺服服务器软件。

Apache支持模块多,性能稳定。Apache本身是静态解析(静态页面),适合静态的HTML、图片等,但可以通过扩展脚本、模块来支持动态页面等。Apche可以支持PHP、CGI、Perl,但要使用Java就需要Tomcat,Java请求会通过Apache转发给Tomcat处理;

Nginx同样也是一款开源的服务。

Nginx是一个高性能的的反向代理来实现负载均衡器。

Apache、Nginx本质上就是一种运用在等)、音频、视频等资源。如下图:

不仅Apache和Nginx,绝大多数编程语言所包含的类库中也可以实现简单的。

Apache和Nginx的对比

Nginx使用异步非阻塞型事件驱动的方法来处理请求,而Apache则是通过同步阻塞型的方法来处理请求。

Apache接收一个请求后,就会创建一个进程,每个进程内单线程。对于一个负载相对较高的网站来说,256的进程,也就是256个线程。线程处理请求时是同步阻塞模式,会一直等待该请求读取程序文件(IO)(同步),执行业务逻辑,返回给客户端,所有操作完成之后才能处理下一个请求(阻塞)。

如果服务器已经达到256的极限,那么接下去的访问就需要排队。这也就是为什么某些服务器负载不高的原因了。

而Ngnix接收一个请求后,不会等待这个请求的文件读取操作完成之后才接收下一个请求,它不会等待这个请求的后续的处理结果。而是会马上循环处理下一个请求(不阻塞)。请求的程序文件执行完成之后,会主动通知该线程,不用你主动去等待或者轮询查看(异步)。最后返回给客户端。

这样做,每个请求过来就不需要等待很长的时间排队,而是马上就能接收,开始进行处理了。等处理完成之后,会主动通知回调这个线程进行数据返回。

基于上述特性Nginx更轻量级,比Apache占用更少的内存及资源抗并发,Nginx静态处理性能比Apache高3倍以上。在高并发下Nginx能保持低资源低消耗高性能高度模块化的设计。但Apache组件比Nginx多,对PHP的支持比较简单,Apche的Rewrite也比Nginx强大一些。

Tomcat用于扩充Apache和Nginx的动态性能从上面我们知道了Apache和Nginx的优势在于静态解析,那么动态解析就会交给其他模块处理,如Tomcat。

Tomcat是由Apache软件基金会旗下Jakarta项目开发的Servlet容器,实现对Servlet和JavaServer Page(jsp)的支持。Tomcat本身也包含了服务,但用的不多。

Tomcat一共设计了 4 种容器,它们分别为Engine、Host、Context、Wrapper,各个容器组件之间的关系是由大到小,即父子关系,它们之间关系形成一个树状的结构,它们的实现类都实现了 Container 接口。

总结如果Apache、Nginx、Tomcat打一局LOL,Apache和Nginx像是冲在最前面的英雄。而Tomcat攻击性能弱,它主要负责打辅助,奶前面的英雄。

Nginx并发性好,CPU、内存占用低。但如果rewrite频繁,那还是选择Apache好一些,Apache在处理动态请求更有优势。

以上个人浅见,欢迎批评指正。

认同我的看法,请点个赞再走,感谢!

喜欢我的,请关注我,再次感谢!

相关文章

我想创建自己的聊天室,该怎样做?

步骤如下: 1、首页,点击左上角“动态侧边栏”按钮,在我的聊天室中,点击【立即购买】,设置聊天室头像、聊天室名称、选择聊天室类型,并支付开启聊天室的费用金币后,即可成功创建聊天室。 2、首页,点击左上角“动态侧边栏”按钮,在我的聊天室中,点击【立即购买】,设置聊天室头像、聊天室名称、选择聊天室类型,...

新浪微博关注和粉丝有区别吗?

新浪微博关注和粉丝是有区别的,区别如下: 一、所指的对象不同 关注是指你关注的对象。 粉丝是指关注你的人。 二、接受的推送功能不同 关注的用户,在他更新微博动态之后,你是可以收到微博推送提示对方微博有新动态的。 粉丝在更新微博动态之后,你无法收到提示,但是你更新微博动态之后,你的粉丝是可以收到提...

佳能hfr16怎么样

为了降低进入高清世界的门槛,佳能特别发布了入门级高清数码摄像机HF R系列,该系列搭载了一个1/5.5英寸,约239万总像素的HD CMOS影像传感器和一只全新开发的20倍光学变焦摄像镜头,在小型机身上实现了高画质和高放大倍率。除此以外,“动态防抖模式”、“智慧AUTO”、“自动继续记录”和“视频向...

职业资格证书应该怎么报考?需要注意什么?

首先需要看你是否符合报名条件,大部分都要看毕业年限、所学专业、和学历每个考试的要求不一样,具体要看你考那方面的证书。而且还需要当地的单位开具工作证明。 每个考试在考前3-5个月当地的网站都会出考完文件,报名,只有报了名才能参加考试,一般是在当地人事考试网或者中国人事考试网,具体考试还需要百度下。 考...

IIS、Apache、Tomcat、Nginx、CDN,它们之间有何区别?

一个学习的总结,或者说是汇总,有些链接给出的观点过时,已按照自己的理解经过修改编辑; web服务器 Web服务器的基本功能就是提供Web信息浏览服务,响应客户端的浏览器请求。因为Web服务器主要支持的协议就是服务器? 不支持事务处理或数据库连接池,但它可以配置各种策略来实现容错性和可扩展性,例如负载...

一道VB数组题,要用到Ubound(x)

Private Sub Command1_Click Dim x As Integer n = (Len(Text1.Text) + 1) / 2 ReDim x(0 To n - 1) ReDim y(0 To n - 1) For i = 0 To n - 1 x(i) = Spli...

404 Not Found是什么意思、怎么解决?

404notfound是页面未找到,返回404页面的意思。404页面是客户端在浏览网页时,服务器无法正常提供信息,或是服务器无法回应,且不知道原因所返回的页面。404页面原因: 1、无法在所请求的端口上访问Web站点; 2、Web服务扩展锁定策略阻止本请求; 3、MIME映射策略阻止本请求。404页...

什么是引渡条例?

  引渡条例的级别低了,有中华人民共和国引渡法。摘述如下: 中华人民共和国主席令 (第四十二号) (相关资料: 案例1篇 相关论文2篇)   《中华人民共和国引渡法》已由中华人民共和国第九届全国人民代表大会常务委员会第十九次会议于2000年12月28日通过,现予公布,自公布之日起施行。       ...

手机动态密码是什么意思??很急~~~~

动态密码是一次性有效的密码安全防护措施,被市场广泛采用。 手机动态密码是利用手机作为随机密码生成或者接收终端,用户在登录应用系统时候,输入手机上的生成或者接收到的密码不停变化的随机密码,大大提升了用户身份认证或者交易的安全,被广泛应用在网银、第三方支付、证券、电信、电子政务、企业等领域。 手机动态密...

海信HDP2977M色彩拖尾怎么?

原因有2个,一是加速极电压调的太低,导致亮度开的很大此时视放管饱和引起 2是显象管老化   家居买什么样的电视好呢 ? 很多人买电视时都在问到底买什么样的电视好呢?我结合大众的观点帮您分析一下! (1)动态显示效果强 更适合看高清运动赛事 我们知道,买液晶电视就要买高清的。但在市场上宣传的高清电视...

微博?微博?

  如今的微博大火,是自去年以来的流行新趋势。在现在流行快速的时代,快,成为了人们生活的节奏。微博,顾名思义,微缩的博客,相对于博客的长篇大论来说,最多140字的微小博客,可以随时随地记录心情点滴,路上所见所闻,好看的风景照片,对事情的评论等等都可以展示出来。   还可以通过微博联系好友,关注好友动...

什么是动态建筑和动态幕墙?

   根据使用功能或使用要求,能够改变建筑形态和建筑色彩的建筑称之为动态建筑。根据使用功能或使用要求,能够改变形态和色彩的建筑幕墙称之为动态幕墙。动态幕墙是动态建筑的一种,是动态外围护结构的建筑,根据可以通过构件的运动而改变形态的建筑形态也可以利用构件本身或利用构件与周围环境的物理化学作用改变建筑色...