Nginx/Tomcat/Apache的優缺點和區別

nginx/tomcat/apache的區別
Apache
Apache是一個模塊化的服務器,可以運行在幾乎所有的計算機平臺上,屬於應用服務器

缺點
配置相對複雜,而且不使用腳本,模塊就無法支持動態頁面

優點
支持模塊多,性能穩定,由於本身是靜態解析,所以適合處理靜態文件(HTML,圖片等),也可以通過擴展腳本,模塊等支持動態頁面

Tomcat
Tomcat是應用服務器,並且只是一個Servlet容器

缺點
基本上只能做java服務器

優點
處理動態請求,是編譯Servlet的容器

Nginx
Nginx是一款HTTP和代理服務器,Nginx常用作靜態內容服務和代理服務器,將外來請求轉發給應用服務(tomcat,django)。

缺點
只適合靜態和反向代理

優點
負載均衡,反向代理,動靜分離,靜態請求可以直接通過Nginx處理,而且處理效率比Apache高,動態請求才需要通過轉發到Tomcat處理

總結
Apache/Nginx應該叫做Http Server
而tomcat則是一個APPlication Server,(java項目 fhadmin.cn)準確來說應該是Servlet/JSP應用的容器。
HttpServer

一個HttpServer關心的是HTTP協議層面的傳輸和訪問控制,所以在
Apache/Nginx上可以看到代理,負載均衡等,客戶端通過HTTP Server訪問服務器上存儲的資源(HTML文件,圖片文件等等)

應用服務器

就是執行應用的容器,首先需要支持開發語言的Runtime(對於Tomcat來說,就是Java)。其次需要支持應用相關的規範,例如類庫,安全方面的特性。對於tomcat來說就是需要提供JSP/Sevlet運行需要的標準類庫等。
爲了方便,應用服務器往往也會集成 HTTP Server 的功能,但是不如專業的 HTTP Server 那麼強大,所以應用服務器往往是運行在 HTTP Server 的背後,執行應用,將動態的內容轉化爲靜態的內容之後,通過 HTTP Server 分發到客戶端。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章