總結:Apache/Tomcat/JBOSS/Nginx區(qū)別 .
1、Apache是Web服務器,Tomcat是應用(Java)服務器。Tomcat在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用。Apache支持靜態(tài)頁,Tomcat支持動態(tài)的。
2、Jetty:Tomcat內(nèi)核作為其Servlet容器引擎,并加以審核和調(diào)優(yōu).大中型系統(tǒng)可以應用。能夠提供數(shù)據(jù)庫連接池服務,還支持其他 Web 技術的集成,譬如PHP、.NET 兩大陣營.
3、JBoss是一個管理EJB的容器和服務器,但JBoss核心服務不包括支持servlet/JSP的WEB容器,一般與Tomcat或Jetty綁定使用。
4、Nginx是目前性能最高的HTTP服務器。其特點是占有內(nèi)存少,并發(fā)能力強。Nginx代碼完全用C語言從頭寫成。
所以:Apache--Nginx;Tomcat--Jetty;JBoss。這三組可以組合了。
具體描述:
一、Apache+Tomcat
Apache支持靜態(tài)頁,Tomcat支持動態(tài)的,比如Servlet等,
一般使用Apache+Tomcat的話,Apache只是作為一個轉(zhuǎn)發(fā),對JSP的處理是由Tomcat來處理的。
Apche可以支持PHPcgiperl,但是要使用Java的話,你需要Tomcat在Apache后臺支撐,將Java請求由Apache轉(zhuǎn)發(fā)給Tomcat處理。
Apache是Web服務器,Tomcat是應用(Java)服務器,它只是一個Servlet(JSP也翻譯成Servlet)容器,可以認為是Apache的擴展,但是可以獨立于Apache運行。
這兩個有以下幾點可以比較的:
◆兩者都是Apache組織開發(fā)的
◆兩者都有HTTP服務的功能
◆兩者都是免費的
不同點:
Apache是專門用了提供HTTP服務的,以及相關配置的(例如虛擬主機、URL轉(zhuǎn)發(fā)等等)
Tomcat是符合Java EE的JSP、Servlet標準下開發(fā)的一個JSP服務器:Tomcat在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用。
二、Jetty
而Jetty采用業(yè)界最優(yōu)的開源Java Web引擎,將Java社區(qū)中下載量最大,用戶數(shù)最多,標準支持最完備的Tomcat內(nèi)核作為其Servlet容器引擎,并加以審核和調(diào)優(yōu)。單純的Tomcat性能有限,在很多地方表現(xiàn)有欠缺,如活動連接支持、靜態(tài)內(nèi)容、大文件和HTTPS等。除了性能問題,Tomcat的另一大缺點是它是一個受限的集成平臺,僅能運行Java應用程序。企業(yè)在使用時Tomcat,往往還需同時部署Apache WebServer以與之整合。此配置較為繁瑣,且不能保證性能的優(yōu)越性。
Jetty通過使用APR和Tomcat本地技術的混合模型來解決Tomcat的諸多不足?;旌霞夹g模型從最新的操作系統(tǒng)技術里提供了最好的線程和事件處理。結果,Jetty達到了可擴展性,性能參數(shù)匹配甚至超越了本地Apache HTTP服務器或者IIS。譬如Jetty能夠提供數(shù)據(jù)庫連接池服務,不僅支持 JSP 等 Java 技術,同時還支持其他 Web 技術的集成,譬如PHP、.NET 兩大陣營。
三、Nginx
Nginx具有很高的穩(wěn)定性。其它HTTP服務器,當遇到訪問的峰值,或者有人惡意發(fā)起慢速連接時,也很可能會導致服務器物理內(nèi)存耗盡頻繁交換,失去響應,只能重啟服務器。例如當前apache一旦上到200個以上進程,web響應速度就明顯非常緩慢了。而Nginx采取了分階段資源分配技術,使得它的CPU與內(nèi)存占用率非常低。nginx官方表示保持10,000個沒有活動的連接,它只占2.5M內(nèi)存,所以類似DOS這樣的攻擊對nginx來說基本上是毫無用處的。就穩(wěn)定性而言,nginx比lighthttpd更勝一籌。
四、JBoss
JBoss一個基于J2EE的開放源代碼的應用服務器.JBoss是一個管理EJB的容器和服務器,但JBoss核心服務不包括支持servlet/JSP的WEB容器,一般與Tomcat或Jetty綁定使用。
JBoss與Web服務器在同一個Java虛擬機中運行 JBoss運行后后臺管理界面,Servlet調(diào)用EJB不經(jīng)過網(wǎng)絡,從而大大提高運行效率,提升安全性能。
聯(lián)系客服