Tomcat與Nginx、Apache---2
總的來說,Apache和Nginx都是開放原始碼的高效能Web伺服器,能夠處理各種工作負載以滿足現代Web需求。它們在概念上彼此接近,但在Web伺服器業務中卻是緊密的競爭對手。Apache已經20年來一直是Web伺服器生態系統的領導者,並且廣受歡迎,但是Nginx並非沒有其應有的優勢。
雖然我不認為Apache已經成為過去,因為目前Apache還是佔一部分比例,但Nginx應該是Web應用程式和網站的未來。
Tomcat與Nginx、Apache都是web server。但是它們在功能上和使用定位上,還是有區分的。
什麼是web server?顧名思義,web server就是提供web服務的server,即web伺服器或網站伺服器,主要提供網上資訊瀏覽服務。當在瀏覽器輸入一個網址之後,瀏覽器會把這個HTTP請求傳送給對應的web伺服器,web伺服器經過相關處理,會返回HTTP響應,瀏覽器把接收到的響應資料經過渲染,就變成我們看到的網頁了。
在web伺服器上完成相關處理的是web服務,它是一組執行在web伺服器上的應用程式軟體。打個比方,web伺服器就是你的電腦,web服務軟體就是電腦上執行的QQ之類的應用程式。基本上web伺服器是專用的,只會執行web服務程式軟體,所以web服務和web伺服器可以理解為同一個事物。
目前常用的web伺服器軟體有:apache、nginx、Tomcat、iis 、gws
什麼是 Apache?Apache隸屬於Apache軟體基金會的一個開放原始碼的web伺服器軟體,由於其開源免費、跨平臺和安全性被廣泛使用,是世界使用排名第一的Web伺服器軟體,是中小型web服務的主流。目前常用的是Apache 2.2系列。
Apache優點:
功能強大。Apache自帶很多功能模組,可以根據需求編譯自己需要的模組配置簡單。Apache的配置檔案非常簡單,通過簡單的配置可以實現強大的功能效能穩定。Apache在高負載請求下效能卓越Apache缺點:
自身只支援靜態網頁,對於jsp、php等動態網頁不支援,可配置動靜分離。Apache是以程序為基礎的機構,比執行緒系統開銷更大。什麼是 Nginx?nginx是一個有俄羅斯人開發的免費開源、輕量級、高效能 Web 伺服器軟體,是世界使用排名第二的Web伺服器軟體。由於其高效能和輕量級的特性,nginx的使用量不斷在上升,衝擊著apache第一的寶座。是大型網站web服務的主流。在功能上,nginx不但是一個優秀的web服務軟體,還具有反向代理功能和快取功能。
nginx優點:
支援高併發。能支援幾萬的併發連線消耗資源少。處理靜態網頁時,比apache佔用更低的系統資源配置簡單。與Apache相比配置還更簡單。nginx的缺點:
nginx本身不支援處理動態網頁。nginx可以通過配置動靜分離實現處理動態網頁,處理php網頁,需要安裝FastCGI程序管理器,將php請求轉發給FastCGI程序管理器處理。處理jsp網頁,可以將請求轉發給對應的Java伺服器。nginx是主程序+多個子執行緒。這既是nginx效能卓越的優點所在,也存在潛在的缺點,當nginx主程序掛掉之後,整個nginx伺服器將會停止提供服務。什麼是 Tomcat?Tomcat是Apache軟體基金會Jakarta專案的一個核心專案,是一個開源免費的web伺服器。Tomcat一直是中小企業動態web服務的主流,常用作解析Java程式的容器。目前常用的是Tomcat6和Tomcat7系列。
Tomcat的優點:
支援servlet和jsp,可以很好的處理動態網頁跨平臺。在window系統和Linux系統都能很好的執行Tomcat的缺點:
處理靜態網頁與apache和nginx相比效率不高。可配置性不強。Tomcat、nginx、apache的區別和聯絡Tomcat和apache的區別和聯絡由於Apache處理靜態網頁效能更好,Tomcat一般用於處理動態網頁,Tomcat和Apache在功能上有一定的互補性,所以在nginx崛起之前,常常將Tomcat和Apache進行整合配合使用,在Apache上配置動靜分離。
當客戶端請求靜態頁面時,由Apache響應請求;當客戶端請求動態頁面時,則由Apache將請求轉發給Tomcat伺服器,由Tomcat伺服器進行處理。保障了應用的可拓展性和安全性。在nginx崛起之後,nginx逐漸替代Apache的功能。
nginx和apache的區別和聯絡nginx同樣都是效能卓越的web伺服器。但是nginx作為後起之秀,相比Apache有了更多的改進。
在效能上,nginx佔用系統資源更少,能支援更多的併發連線,達到更高的訪問效率
在功能上,nginx還是一個性能堪比haproxy的反向代理軟體,甚至nginx部署配置更加簡單、方便。
所以說nginx是一款很有發展潛力的web伺服器軟體,未來一定可以超越Apache,稱為世界排名第一的web伺服器軟體
留言
張貼留言