首頁  >  文章  >  Java  >  nginx和tomcat區別

nginx和tomcat區別

(*-*)浩
(*-*)浩原創
2019-06-03 11:41:303946瀏覽

nginx

Nginx (engine x) 是高效能的HTTP和反向代理web伺服器,同時也提供了IMAP/POP3/SMTP服務。 Nginx是由伊戈爾·賽索耶夫為俄羅斯訪問量第二的Rambler.ru站點(俄文:Рамблер)開發的,第一個公開版本0.1.0發佈於2004年10月4日。

nginx和tomcat區別

其將原始程式碼以類BSD許可證的形式發布,因它的穩定性、豐富的功能集、範例設定檔和低系統資源的消耗而聞名。 2011年6月1日,nginx 1.0.4發布。

Nginx是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,在BSD-like 協定下發行。其特點是佔有內存少,並發能力強,事實上nginx的並發能力確實在同類型的網頁伺服器中表現較好,中國大陸使用nginx網站用戶有:百度、京東、新浪、網易、騰訊、淘寶等。

推薦課程:Java教學

tomcat

Tomcat是Apache 軟體基金會(Apache Software Foundation)的Jakarta 專案中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發而成。由於有了Sun 的參與和支持,最新的Servlet 和JSP 規格總是能在Tomcat 中得到體現,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 規格。因為Tomcat 技術先進、性能穩定,而且免費,因而深受Java 愛好者的喜愛並得到了部分軟體開發人員的認可,成為目前比較流行的Web 應用伺服器。

Tomcat 伺服器是一個免費的開放原始碼的Web 應用程式伺服器,屬於輕量級應用程式伺服器,在中小型系統和並發存取用戶不是很多的場合下被普遍使用,是開發和調試JSP 程序的首選。對於一個初學者來說,可以這樣認為,當在一台機器上配置好Apache 伺服器,可利用它來回應HTML(標準通用標記語言下的一個應用程式)頁面的存取請求。實際上Tomcat是Apache 伺服器的擴展,但運行時它是獨立運行的,所以當你運行tomcat 時,它實際上作為一個與Apache 獨立的進程單獨運行的。

訣竅是,當配置正確時,Apache 會為HTML頁面服務,而Tomcat 實際上運行JSP 頁面和Servlet。另外,Tomcat和IIS等Web伺服器一樣,有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的預設模式。不過,Tomcat處理靜態HTML的能力不如Apache伺服器。目前Tomcat最新版本為9.0。

nginx和tomcat區別

nginx常用做靜態內容服務和代理伺服器,直面外來請求轉發給後面的應用服務,tomcat更多用來做一個應用容器,讓java web app跑在裡面的東西,對應同等級的有jboss,jetty等東西。

但是事無絕對,nginx也可以透過模組開發來提供應用功能,tomcat也可以直接提供http服務,通常用在內網和不需要流控等小型服務的場景。

嚴格的來說,Nginx 應該叫做“HTTP Server”;而Tomcat 則是一個“Application Server”,或者更準確的來說,是一個“Servlet/JSP”應用的容器(Ruby/Python等其他語言開發的應用程式也無法直接運行在Tomcat 上)。

一個 HTTP Server 關心的是 HTTP 協定層面的傳輸和存取控制,所以在 Apache/Nginx 上你可以看到代理、負載平衡等功能。客戶端透過 HTTP Server 存取伺服器上儲存的資源(HTML 檔案、圖片檔案等等)。透過 CGI 技術,也可以將處理過的內容透過 HTTP Server 分發,但是一個 HTTP Server 始終只是把伺服器上的檔案如實的透過 HTTP 協定傳輸給客戶端。

而應用程式伺服器,則是一個應用程式執行的容器。它首先需要支援開發語言的 Runtime(對 Tomcat 來說,就是 Java),並保證應用程式能夠在應用程式伺服器上正常運作。其次,需要支援應用相關的規範,例如類別庫、安全性方面的特性。對 Tomcat 來說,就是需要提供 JSP/Sevlet 運作所需的標準類別函式庫、Interface 等。為了方便,應用程式伺服器往往也會整合HTTP Server 的功能,但不如專業的HTTP Server 那麼強大,所以應用程式伺服器往往是運行在HTTP Server 的背後,執行應用,將動態的內容轉化為靜態的內容之後,透過HTTP Server 分發到客戶端。

以上是nginx和tomcat區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn