綜合知識

當前位置 /首頁/綜合知識 > /列表

nginx和apache的區別2020

nginx和apache的區別2020

Apache和Nginx最主要的區別在於,Apache是同步多進程模型,一個連接只能對應一個進程;而Nginx是異步的,多個連接可以對應一個進程。Nginx屬於輕量級Web服務器,佔用的存儲空間及資源會更少,處理靜態文件好,在性能和速度方面要比Apache有優勢。而Apache在處理動態文件上要優於Nginx,在rewrite頻繁的情況下,大多會選擇使用Apache。此外,Nginx的負載能力比Apache高很多。建議使用前端Nginx抗併發,後端Apache集羣,配合起來會更好。

小編還為您整理了以下內容,可能對您也有幫助:

nginx和apache的區別

具體區別如下。

二者最核心的區別在於apache是同步多進程模型,一個連接對應一個進程;nginx是異步的,多個連接(萬級別)可以對應一個進程。nginx.nginx的負載能力比apache高很多。最新的服務器也改用nginx了。

而且nginx改完配置能-t測試一下配置有沒有問題。apache重啟的時候發現配置出錯了,會很崩潰,改的時候都會非常小心翼翼現在看有好多集羣站,前端nginx抗併發,後端apache集羣,nginx處理動態請求是雞肋,一般動態請求要apache去做,nginx只適合靜態和反向。從經驗來看,nginx是很不錯的前端服務器,負載性能很好,nginx,用webbench模擬10000個靜態文件請求毫不吃力。

淺談tomcat 、apache、 nginx的區別及優缺點

本文主要介紹tomcat 、apache、 nginx的定義、區別及優缺點。

1. Apache

Apache HTTP服務器是一個模塊化的服務器,可以運行在幾乎所有廣泛使用的計算機平台上。其屬於應用服務器。Apache支持支持模塊多,性能穩定,Apache本身是靜態解析,適合靜態HTML、圖片等,但可以通過擴展腳本、模塊等支持動態頁面等。

(Apche可以支持PHPcgiperl,但是要使用Java的話,你需要Tomcat在Apache後台支撐,將Java請求由Apache轉發給Tomcat處理。) 缺點:配置相對複雜,自身不支持動態頁面。

2. Tomcat:

Tomcat是應用(Java)服務器,它只是一個Servlet(JSP也翻譯成Servlet)容器,可以認為是Apache的擴展,但是可以於Apache運行。

3. Nginx

Nginx是俄羅斯人編寫的十分輕量級的HTTP服務器,Nginx,它的發音為“engine X”,是一個高性能的HTTP和反向代理服務器,同時也是一個IMAP/POP3/SMTP 代理服務器。

1. Apache與Tomcat的比較

相同點:

 兩者都是Apache組織開發的  兩者都有HTTP服務的功能  兩者都是免費的 不同點

 Apache是專門用了提供HTTP服務的,以及相關配置的(例如虛擬主機、URL轉發等等),而Tomcat是Apache組織在符合Java EE的JSP、Servlet標準下開發的一個JSP服務器.

 Apache是一個Web服務器環境程序,啟用他可以作為Web服務器使用,不過只支持靜態網頁如(ASP,PHP,CGI,JSP)等動態網頁的就不行。如果要在Apache環境下運行JSP的話就需要一個解釋器來執行JSP網頁,而這個JSP解釋器就是Tomcat。

 Apache:側重於HTTPServer ,Tomcat:側重於Servlet引擎,如果以Standalone方式運行,功能上與Apache等效,支持JSP,但對靜態網頁不太理想;

 Apache是Web服務器,Tomcat是應用(Java)服務器,它只是一個Servlet(JSP也翻譯成Servlet)容器,可以認為是Apache的擴展,但是可以於Apache運行。

實際使用中Apache與Tomcat常常是整合使用:

 如果客户端請求的是靜態頁面,則只需要Apache服務器響應請求。  如果客户端請求動態頁面,則是Tomcat服務器響應請求。  因為JSP是服務器端解釋代碼的,這樣整合就可以減少Tomcat的服務開銷。

可以理解Tomcat為Apache的一種擴展。

2. Nginx與Apache比較

1) nginx相對於apache的優點

 輕量級,同樣起web 服務,比apache佔用更少的內存及資源  抗併發,nginx 處理請求是異步非阻塞的,而apache 則是 阻塞型 的,在高併發下nginx 能保持低資源低消耗高性能  高度模塊化的設計,編寫模塊相對簡單  提供負載均衡

 社區活躍,各種高性能模塊出品迅速

2) apache 相對於nginx 的優點

 apache的 rewrite 比nginx 的強大 ;

 支持動態頁面;

 支持的模塊多,基本涵蓋所有應用;

 性能穩定,而nginx相對bug較多。

3) 兩者優缺點比較

 Nginx 配置簡潔, Apache 複雜 ;

 Nginx 靜態處理性能比 Apache 高 3倍以上 ;

 Apache 對 PHP 支持比較簡單,Nginx 需要配合其他後端用;  Apache 的組件比 Nginx 多 ;

 apache是同步多進程模型,一個連接對應一個進程;nginx是異步的,多個連接(萬級別)可以對應一個進程;

 nginx處理靜態文件好,耗費內存少;

 動態請求由apache去做,nginx只適合靜態和反向;

 Nginx適合做前端服務器,負載性能很好;

 Nginx本身就是一個反向代理服務器 ,且支持負載均衡

3. 總結

 Nginx優點:負載均衡、反向代理、處理靜態文件優勢。nginx處理靜態請求的速度高於apache;

 Apache優點:相對於Tomcat服務器來説處理靜態文件是它的優勢,速度快。Apache是靜態解析,適合靜態HTML、圖片等。

 Tomcat:動態解析容器,處理動態請求,是編譯JSPServlet的容器,Nginx有動態分離機制,靜態請求直接就可以通過Nginx處理,動態請求才轉發請求到後台交由Tomcat進行處理。

Apache在處理動態有優勢,Nginx併發性比較好,CPU內存佔用低,如果rewrite頻繁,那還是Apache較適合。

真的的日常工作中,一般的項目還是用nginx+tomcat來做會多一點。

Nginx/Apache 和Apache Tomcat 的區別

第一、Nginx和Tomcat的區別

Nginx主要用作靜態內容服務和代理服務器,直接將外來的請求轉發給後面的應用服務器;Tomcat更像是一個應用容器。

第二、nginx和Apache的區別

Apache是同步多進程模型,是可以一個連接對應一個進程,而nginx屬於一步的,多個連接可以對應一個進程。

Nginx輕量級,抗併發,處理靜態文件好;Apache穩定性好,對PHP支持比較簡單,nginx還需要配合其他後端進行使用,處理動態請求上更有優勢。

建議使用前端nginx抗併發,後端Apache集羣,配合起來效果會更好。

第三、Tomcat和Apache的區別

Apache由C語言實現,支持各種特性和模塊從而來擴展核心功能;Tomcat是Java實現的,可以更好地支持servlet和jsp。

Apache也是普通的服務器,本身只支持HTML靜態普遍網頁,不過可以通過插件來支持PHP等;Tomcat是jsp/servlet容器,支持HTML、jsp、asp、PHP、CGI等。

Apache側重於http server,Tomcat側重於servlet引擎。

綜合情況來講,各有各的特點和優勢,可以根據自己的實際需求來選擇。

TAG標籤:nginx apache #