天天看點

web伺服器之iis,apache,tomcat三者之間的比較

IIS-Apache-Tomcat的差別 

IIS與Tomcat的差別 

IIS是微軟公司的Web伺服器。主要支援ASP語言環境. 

Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技術的标準實作,是基于Apache許可證下開發的SJP語言環境容器,嚴格得說不能算是一個WEB伺服器,而是Apache服務擴充卡。 

tomcat主要的任務不是WEB服務,而是支援JSP語言環境. 

IIS就是也款WEB伺服器,支援ASP語言環境 

Apache與Tomcat的差別 

APACHE是一個web伺服器環境程式 啟用他可以作為web伺服器使用 不過隻支援靜态網頁. 但asp,php,cgi,jsp等動态網頁的就不行. 

如果要在APACHE環境下運作jsp 的話就需要一個解釋器來執行jsp網頁, 而這個jsp解釋器就是TOMCAT, 為什麼還要JDK呢?因為jsp需要連接配接資料庫的話就要jdk來提供連接配接資料庫的驅程,是以要運作jsp的web伺服器平台就需要APACHE+TOMCAT+JDK 整合的好處是:如果用戶端請求的是靜态頁面,則隻需要Apache伺服器響應請求如果用戶端請求動态頁面,則是Tomcat伺服器響應請求因為jsp是伺服器端解釋代碼的,這樣整合就可以減少Tomcat的服務開銷 . 

apache是web伺服器,tomcat是應用(java)伺服器,它隻是一個servlet(jsp也翻譯成servlet)容器,可以認為是apache的擴充。 

Apache:普通伺服器,本身隻支援html即普通網頁,它是html容器,功能像IIS一樣 

tomcat:解釋java程式(jsp,serverlet),它是是jsp/servlet容器,用于釋出JSP及JAVA的 

apache是一輛卡車,上面可以裝一些東西如html等。但是不能裝水,要裝水必須要有容器(桶),tomcat就是一個桶(裝像JAVA這樣的水),而這個桶也可以不放在卡車上。 

IIS與 Apache的差別 

對于中小企業來說建立自己的網站,對外展示自己的頁面是最平常不過的事情了。目前最流行的建立WWW服務工具就要屬Apache與IIS了。那麼他們之間都有什麼差別呢?到底哪個工具才是最适合我們的呢?今天就來讨論下這個問題。 

一、免費與收費之争: 

雖然很多使用者都使用IIS建立網站,他是內建于Windows作業系統中的元件。不過要想合法使用IIS就要購買正版Windows作業系統。 

反觀Apache,他是完全免費的。不需要支付任何費用就可以免費下載下傳并使用了。 

結論——Apache免費,IIS收費,前者占優。 

二、穩定性: 

接下來要比較的就是穩定性了,WWW服務要随時運轉正常,一個網站也需要一天24小時,一周七天為公衆開放。是以穩定性是IIS和APACHE比較的重點。 

IIS在實際使用中經常出現500錯誤,而且有的時候還會出現莫名其妙的假死現象。使用者需要不定期的重新啟動IIS服務才能保證網站的正常。 

Apache在配置上比IIS要複雜,不過一經設定完畢就可以長期的工作了。大型網站都使用APACHE作為自己的WWW服務提供工具。APACHE的所有配置都儲存在配置檔案中,使用時完全按照配置檔案中記錄的資訊執行。一般不會發生莫名其妙的假死情況。 

小提示:在windows2003系統下使用IIS比用APACHE性能要好。 

結論——APACHE穩定,IIS有時假死,前者占優。 

三、擴充性: 

擴充性是指WWW服務提供工具是否可以應用于多種場合,多種網絡情況,多種作業系統。 

IIS隻能在微軟公司的windows作業系統下使用,離開了windows他将一事無成。無法移植到其他類型的作業系統中。 

APACHE是個多面手,他不僅僅應用于windows,對于unix,linux以及freebsd等多種作業系統來說他都可以勝任工作。而且不同作業系統的配置步驟基本類似,可移植性非常高。 

結論——IIS隻能在windows下運作,apache應用範圍廣。apache獲勝。 

四、安全性: 

經常看到某某網站被黑客攻擊或者某某網站被非法使用者上傳病毒的消息,對于為其他人提供服務的站點來說,安全性是最重要的。如果一個網站連自身安全都沒有保證的話,誰願意浏覽和使用呢。 

早期的IIS在安全性方面存在着很大的問題,如果使用預設設定的話黑客可以輕松趁虛而入。不過在IIS6中微軟公司對安全方面進行了大幅改進。隻要保證作業系統更新檔更新及時,就可以将網站安全系數盡可能的提高。特别是IIS6與.net平台互相倚靠,使安全性幾乎完美。 

APACHE在安全方面一直做的不錯,因為很多使用者都是在linux下使用apache,是以作業系統的特點使得linux下的apache具有先天的保護傘,安全性自然沒得說。 

結論——IIS6以前的版本有安全隐患,IIS6和APACHE一樣安全可靠。IIS6與APACHE打個平手。 

五、開放性: 

所 謂開放性就是指是否開放了程式的源代碼,衆所周知IIS是WINDOWS系統的一部分,是以他的源代碼是沒有開放的。而apache則不同,最早他是為了 類unix系統服務的,是以完全對外開放源代碼。任何人都可以分析他的代碼,發現其中的漏洞,并釋出更新檔來彌補該漏洞。 

正因為APACHE的這種開放性,也使其安全性大大提高。 

結論——IIS不開放代碼,APACHE開放源代碼。後者獲得勝利。 

六、難易性: 

一個工具使用的難易程度直接影響其使用者的多少,特别是網頁釋出工具。畢竟很多公司希望有自己的網站,但又不希望聘請高薪的網絡管理者來維護。是以必然找上手相對容易的工具來搭建自己的站點。 

IIS開起來比較簡單,很容易就可能讓IIS工作,對外釋出網站。不過管理者很容易出現錯誤配置和誤操作問題。不過總體說來IIS還是非常容易學的,但要學好他恐怕是件非常困難的事。 

APACHE的使用比IIS要難,需要有一定計算機及網絡基礎的人才可以使用。他的配置也不是圖形化的,需要我們通過編輯配置檔案來實作。但是單從APACHE的設定上講,隻要我們嚴格按照幫助檔案進行參數設定的話還是沒有什麼難度的。 

結論——IIS容易安裝但難精通,APACHE安裝相對困難,要想精通也不是一件容易的事。IIS略占優勢。 

七、程式設計性: 

為了讓網頁更加豐富多采,更加美觀,互動性更好,高手為我們開發了多種元件與控件,那麼這些控件在IIS或APACHE下是否正常運作呢? 

APACHE 下的Mod Rewrite功能非常強大,而IIS中的ISAPI的Rewrite需要專門開發,一般初學者是不能夠實作的。APACHE可以使用 Subversion WebDev以及.htaccess功能,還可以使用ForceType。另外IIS對FastCGI的支援也不是很好,是以一些CGI、PHP程式運作 起來速度很慢,遠不如apache。 

結論——不同的環境下使用不同的元件,因為選擇IIS還是APACHE由工作環境所決定,這點兩者不分高下。 

八、支援語言方面: 

由于目前建立網站和論壇的語言多種多樣,例如ASP,PHP,JSP等語言。那麼IIS和APACHE對他們都支援嗎? 

IIS對ASP特别是.net運作很穩定,不過對于PHP和JSP就比較麻煩了。PHP需要經過反複配置才能在windows2003上支援。APACHE則能夠很好的支援上面提到的幾種語言,運作ASP,PHP,JSP都沒有任何問題。 

結論——APACHE支援語言比較多,IIS支援PHP和JSP時有點麻煩,需要經過一定的配置。APACHE獲勝。 

九、待遇方面: 

提到待遇方面可能很多讀者會比較納悶,怎麼IIS和APACHE還存在待遇問題呢?其實我們這裡要讨論的是網絡管理者的待遇。一個會IIS的網絡管理者與一個會APACHE的網絡管理者,他們的薪水是不一樣的。 

APACHE最大的好處就是配置參數多,如果要精通APACHE需要很高的水準。是以同等水準的網絡管理者會APACHE的要比會IIS的待遇更好。 

結論——錢多是獲勝的唯一标準,APACHE占優。 

總結: 

其實今天我們在這裡争論IIS好還是APACHE好是沒有很大意義的,本文所進行的比較也隻是給那些徘徊在網絡管理者路口,不知道學習哪個工具來建立網站的讀者一點參考。隻有你對IIS和APACHE有了一個大概的了解之後,才能為自己的未來進行規劃。 

總 的來說Apache的優點在于在各種開源的WWW服務提供工具中特性最全,支援最廣,相對比較穩定的,而且擴充性豐富。不過正因為要考慮擴充性,性能就肯 定不會太高,隻能保持一個中等的水準。而IIS6在處理連接配接及事件性能方面還是很強大的,超過了APACHE。另外安全方面IIS6也有了質的飛躍,彌補 了以往IIS漏洞漫天的缺陷。如果你的公司網絡環境不負責,沒有涉及太多的開發的話建議仍然使用IIS6。當然如果是建立在WWW上的開發和調試還是使用 APACHE更加順手。

轉自:http://1035054540-qq-com.iteye.com/blog/1278803

繼續閱讀