首頁 > 運維 > Nginx > nginx與tomcat差別有哪些?

nginx與tomcat差別有哪些?

藏色散人
發布: 2019-06-10 15:04:04
原創
3707 人瀏覽過

nginx與tomcat差別有哪些?

nginx與tomcat差異有哪些?

nginx與tomcat區別

web上的server都叫web server,但大家分工也有不同的。

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

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

apache用的越來越少了,大體上和nginx功能重合的更多。

 

嚴格的來說,Apache/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相關知識,請造訪Nginx使用教學欄位!

以上是nginx與tomcat差別有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板