主流Web伺服器的比較

guocun09發表於2017-10-25

在網際網路高速發展的今天,不同種類的網站大量湧現,每個人都在享受著網路服務所帶來的便利。而建立自己個性化的網站的門檻不斷降低,從事網站架設,這種當年的絕對“高科技”技術活,也從IT人的專利“淪落”到人人皆可的境地:隨便安裝一個windows的server版,使用自帶的IIS就可以迅速建立一個說的過去的網站。
然而要架設一個符合長遠發展要求的網站,就不是一件簡單到每個人都可以勝任的事了。且不說建站需要掌握的各種語言:html、Javascript、VBscript、jsp、asp、java、c#……,就單單是選擇合適的伺服器軟體就夠讓人頭疼的。目前主要的伺服器軟體有:apache、IIS、tomcat、jboss、resin、weblogic、websphere……,該在搭建網站時,應該採用哪一款或者哪幾款軟體呢?
解答這個問題,首先需要對上述軟體逐個分析,找出不同之處,然後分類,進而根據效能等因素進行排列,最後根據應用的場景和費用等選出其中最合適的。伺服器軟體主要可以分為應用伺服器、http伺服器等,而實際上的應用伺服器又常常還有http伺服器的功能,因此如果僅從分類的字面上講各個伺服器軟體之間的區別,很難理解;而效能在不同的功能上可能差異很大;應用的場景和費用就更是因人而異了。下面將在介紹每一個軟體的同時,解析伺服器種類的不同特性。
apache:apache(阿帕奇)的具體介紹可以參看apache的網站(),或者在網上隨便搜搜吧。apache是世界使用排名第一的web伺服器軟體;它可以執行在幾乎所有廣泛使用的計算機平臺上;它是開源的,可以免費用於商業應用;它的執行超級穩定;它的效率非常之高……。可能apache僅有的不足是,它本身僅提供html靜態頁面的功能,不能支援jsp、java servlet、asp等功能,但透過同其他應用伺服器一起工作或新增外掛來支援。(穩定高效,通常需要與其他伺服器軟體或外掛協同工作)

tomcat:tomcat是Apache軟體基金會Jakarta專案中的一個核心專案。它是開源的,可以免費用於商業應用;支援servlet/jsp,它還能處理html頁面;執行時佔用的系統資源小,擴充套件性好。但是它也有不少缺點及不足:執行不夠穩定,支援的併發連線數不夠高,處理html時的效率不如apache,不能處理EJB等。(小巧精悍,適用於小型網站,後臺開發語言為java的開發者在開發時使用)

jboss:jboss目前屬於Redhat公司。它是開源的,使用LGPL,可以在商業應用中免費使用;支援EJB;需要較小的資源就可以執行。其核心服務不包括servlet/jsp的web容器,有整合了tomcat的版本,並對tomcat進行了最佳化。(支援EJB的最佳化版tomcat)

resin
:resin是Caucho公司的產品。resin最突出的是它的效能非常高效,連html頁面的效率也直追apache;支援servlet/jsp,EJB。雖然resin是開源的,不過有兩種lisence:GPL和商用lisence,可以在GPL下免費使用,但注意商用的是要交錢的。(高效全功能的輕型伺服器軟體)

weblogic
:weblogic是bea公司出品的一款應用伺服器軟體。全面支援多種功能標準,包括EJB,servlet/jsp,html等;出色的叢集技術,極高的可擴充套件性;服務穩定;……。weblogic不是一款開源的軟體,雖然存在免費試用等,但它主要的應用目標為大型商業應用,而這種應用需要高額的license費用。(技術上沒得說,不過是商用伺服器軟體,適合大型商業應用)

websphere:websphere是IBM旗下的一款應用伺服器軟體。與weblogic相似,同為商業軟體,同具有穩定、高效,支援多種應用……。也是需要高額的費用,適於大型商業應用;有Community Edition版本,是開源的。(如果有IBM其他配套產品,大型商用考慮使用)

IIS:IIS(Internet Information Services)是microsoft公司的伺服器軟體。IIS與上面介紹的伺服器軟體完全不同,它是在windows server(2000/2003/2008……)平臺上免費附加的,買了windows就可以免費使用IIS了,開源就別想了;與windows平臺緊密結合在一起,支援html和asp,aspx等。既然是微軟的產品,自然只能在windows平臺上,……。(如果是隻用windows系統,想支援asp的就用它吧)

介紹完了各個軟體的特點,結合實際的應用,就可以選出真正適合自己的伺服器軟體。這裡再給出幾個常見應用的搭配:
1. 如果作業系統是windows系統,且想使用asp,.net等應用的,後臺開發使用c#語言的,II;
2. 如果僅需要展示html頁面,而不要其他功能,apache;
3. 如果是在開發時使用或者是一般小型應用,需要支援jsp/servlet,而又不需要EJB的,tomcat;
4. 需要支援jsp/servlet,不需要EJB,有希望提高伺服器的效率和穩定性的,apache+tomcat;
5. 需要支援jsp/servlet/EJB,而又想免費的,apache+jboss(包含tomcat的版本);
6. 需要支援jsp/servlet/EJB,又可以花點小錢的,resin(實在認為有必要,可以考慮resin+apache);
7. 大型商用,可以支付較高費用,weblogic(websphere可選);
8. 大型商用,可以支付較高費用,且有其他IBM相關功能服務的,websphere。

來自:http://zz563143188.iteye.com/blog/1842141

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25583515/viewspace-2146371/,如需轉載,請註明出處,否則將追究法律責任。

相關文章