nginx和Tomcat的區別


nginx被稱為HTTP服務器,Tomcat被稱為應用(Java)服務器,從字面上來看,一個是服務於HTTP,關心的是 HTTP 協議層面的傳輸和訪問控制,所以在 Nginx 上你可以看到代理、負載均衡等功能

客戶端通過 HTTP Server 訪問服務器上存儲的資源(HTML 文件、圖片文件等等)

Tomcat呢?應用服務器,是一個應用執行的容器。它首先需要支持開發語言的運行環境,保證應用能夠在應用服務器上正常運行。

為了方便,應用服務器往往也會集成 HTTP Server 的功能,但是不如專業的 HTTP Server 那么強大,所以應用服務器往往是運行在 HTTP Server 的背后,執行應用,

將動態的內容轉化為靜態的內容之后,通過 HTTP Server 分發到客戶端。

Tomcat結合Apache、Nginx實現高性能的web服務器

Tomcat雖然是一個servlet和jsp容器,但是它也是一個輕量級的web服務器。它既可以處理動態內容,也可以處理靜態內容。不過,tomcat的最大優勢在於處理動態請求,處理靜態內容的能力不如apache和nginx,並且經過測試發現,tomcat在高並發的場景下,其接受的最大並發連接數是有限制的,連接數過多會導致tomcat處於"僵死"狀態,因此,在這種情況下,我們可以利用nginx的高並發,低消耗的特點與tomcat一起使用。因此,tomcat與nginx、apache結合使用共有如下幾點原因:
1、tomcat處理html的能力不如Apache和nginx,tomcat處理靜態內容的速度不如apache和nginx。
2、tomcat接受的最大並發數有限,連接數過多,會導致tomcat處於"僵屍"狀態,對后續的連接失去響應,需要結合nginx一起使用。

通常情況下,tomcat與nginx、Apache結合使用,nginx、apache既可以提供web服務,也可以轉發動態請求至tomcat服務器上。但在一個高性能的站點上,通常nginx、apache只提供代理的功能,也就是轉發請求至tomcat服務器上,而對於靜態內容的響應,則由前端負載均衡器來轉發至專門的靜態服務器上進行處理。

部分轉載:https://blog.csdn.net/weixin_44221613/article/details/88410701


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM