责任编辑主要就如是说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来做会多一点。