Apache、Nginx、Tomcat的区别
生活随笔
收集整理的這篇文章主要介紹了
Apache、Nginx、Tomcat的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Apache、Nginx、Tomcat的區別
- Nginx
- Tomcat
- Apache,Nginx與Tomcat的區別
Nginx
-----是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP代理服務器。**
Tomcat
-----servlet(jsp)應用服務器
Web項目部署進Tomcat的webapp中的目的是很明確的,那就是希望Tomcat去調用寫好的方法去為客戶端返回需要的資源和數據。
由此,可知Tomcat用到了Java的反射來實現類的動態加載、實例化、獲取方法、調用方法。但是部署到Tomcat的中的Web項目必須是按照規定好的接口來進行編寫,以便進行調用。
Connector接受請求,并由engine封裝對應路徑下的jsp為HttpServletResponse給對應的客戶端
? tomcat是一個web應用容器,可以運行各種web應用
? tomcat分了多層,每層有各種獨立的功能處理,其中Connector就是處理網絡連接協議的
? tomcat底層使用處理TCP連接,然后支持各種協議,比如HTTP,NIO,BIO
Apache,Nginx與Tomcat的區別
Apache/Nginx 應該叫做「HTTP Server」;而 Tomcat 則是一個「Application Server」,或者更準確的來說,是一個「Servlet/JSP」應用的容器(Ruby/Python 等其他語言開發的應用也無法直接運行在 Tomcat 上)。
HTTP服務器關心的是 HTTP 協議層面的傳輸和訪問控制,所以在 Apache/Nginx 上你可以看到代理、負載均衡等功能。
應用服務器則是一個應用執行的容器。它首先需要支持開發語言的 Runtime(對于 Tomcat 來說,就是 Java),保證應用能夠在應用服務器上正常運行。對于 Tomcat 來說,就是需要提供 JSP/Sevlet 運行需要的標準類庫、Interface 等。為了方便,應用服務器往往也會集成 HTTP Server 的功能,但是不如專業的 HTTP Server 那么強大,所以應用服務器往往是運行在 HTTP Server 的背后,執行應用,將動態的內容轉化為靜態的內容之后,通過 HTTP Server 分發到客戶端。
下圖中,用戶請求先交由Nginx處理,再由他交給對應的應用服務器。
總結
以上是生活随笔為你收集整理的Apache、Nginx、Tomcat的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java单例模式简单实现
- 下一篇: Nginx —— 检查配置文件ngi