浅谈tomcat 、apache、 nginx的区别及优缺点

2023-06-14 0 1,026

责任编辑主要就如是说tomcat 、apache、 nginx的表述、差别及优劣。

浅谈tomcat 、apache、 nginx的区别及优缺点

一、 表述:

1. Apache

Apache HTTP伺服器是两个组件化的伺服器,能运转在基本上大部份广为采用的计算机系统网络平台上。其归属于应用伺服器。Apache全力支持全力支持组件多,操控性平衡,Apache这类是静态导出,适宜静态HTML、相片等,但能透过扩充JAVA、组件等全力支持静态网页等。

(Apche能全力支持PHPcgiperl,但要使用Java不然,你须要Tomcat在Apache前台支撑力,将Java允诺由Apache发送到Tomcat处置。) 优点:实用性相较繁杂,另一方面不全力支持静态网页。

2. Tomcat:

Tomcat是应用(Java)伺服器,它而已两个Servlet(JSP也译成Servlet)罐子,能指出是Apache的扩充,但能分立于Apache运转。

3. Nginx

Nginx是白俄罗斯人撰写的极为轻量的HTTP服务器,Nginx,它的读音为“engine X”,是两个高效能的HTTP和逆向代理伺服器,与此同时也是两个IMAP/POP3/SMTP 代理伺服器。

二、 差别

1. Apache与Tomcat的较为

不同之处:

 二者都是Apache组织机构合作开发的  二者都有HTTP服务项目的机能  二者都是完全免费的 不同之处:

 Apache是专门用了提供HTTP服务项目的,以及相关实用性的(例如虚拟主机、URL转发等等),而Tomcat是Apache组织机构在符合Java EE的JSP、Servlet标准下合作开发的两个JSP伺服器.

 Apache是两个Web伺服器环境程序,启用他能作为Web伺服器采用,不过只全力支持静态网页如(ASP,PHP,CGI,JSP)等静态网页的就不行。如果要在Apache环境下运转JSP不然就须要两个解释器来执行JSP网页,而这个JSP解释器就是Tomcat。

 Apache:侧重于HTTPServer ,Tomcat:侧重于Servlet引擎,如果以Standalone方式运转,机能上与Apache等效,全力支持JSP,但对静态网页不太理想;

 Apache是Web伺服器,Tomcat是应用(Java)伺服器,它而已两个Servlet(JSP也译成Servlet)罐子,能指出是Apache的扩充,但能分立于Apache运转。

实际采用中Apache与Tomcat常常是整合采用:

 如果客户端允诺的是静态网页,则只须要Apache伺服器响应允诺。  如果客户端允诺静态网页,则是Tomcat伺服器响应允诺。  因为JSP是伺服器端解释代码的,这样整合就能减少Tomcat的服务项目开销。

能理解Tomcat为Apache的一种扩充。

2. Nginx与Apache较为

1) nginx相较于apache的优点

 轻量,同样起web 服务项目,比apache占用更少的内存及资源  抗并发,nginx 处置允诺是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高效能  高度组件化的设计,撰写组件相较简单  提供负载均衡

 社区活跃,各种高效能组件出品迅速

2) apache 相较于nginx 的优点

 apache的 rewrite 比nginx 的强大 ;

 全力支持静态网页;

 全力支持的组件多,基本涵盖大部份应用;

 操控性平衡,而nginx相较bug较多。

3) 二者优劣较为

 Nginx 实用性简洁, Apache 繁杂 ;

 Nginx 静态处置操控性比 Apache 高 3倍以上 ;

 Apache 对 PHP 全力支持较为简单,Nginx 须要配合其他后端用;  Apache 的组件比 Nginx 多 ;

 apache是同步多进程模型,两个连接对应两个进程;nginx是异步的,多个连接(万级别)能对应两个进程;

 nginx处置静态文件好,耗费内存少;

 静态允诺由apache去做,nginx只适宜静态和逆向;

 Nginx适宜做前端伺服器,负载操控性很好;

 Nginx这类就是两个逆向代理伺服器 ,且全力支持负载均衡

3. 总结

 Nginx优点:负载均衡、逆向代理、处置静态文件优势。nginx处置静态允诺的速度高于apache;

 Apache优点:相较于Tomcat伺服器来说处置静态文件是它的优势,速度快。Apache是静态导出,适宜静态HTML、相片等。

 Tomcat:静态导出罐子,处置静态允诺,是编译JSP\Servlet的罐子,Nginx有静态分离机制,静态允诺直接就能透过Nginx处置,静态允诺才转发允诺到前台交由Tomcat进行处置。

Apache在处置静态有优势,Nginx并发性较为好,CPU内存占用低,如果rewrite频繁,那还是Apache较适宜。

真的的日常工作中,一般的项目还是用nginx+tomcat来做会多一点。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务