反向代理前端
在計算機網絡中,反向代理是代理服務器的一種。服務器根據客戶端的請求,從其關係的一組或多組後端服務器(如Web服務器)上獲取資源,而後再將這些資源返回給客戶端,客戶端只會得知反向代理的IP地址,而不知道在代理服務器後面的服務器簇的存在。
與前向代理不一樣,前向代理做爲客戶端的代理,將從互聯網上獲取的資源返回給一個或多個的客戶端,服務端(如Web服務器)只知道代理的IP地址而不知道客戶端的IP地址;而反向代理是做爲服務器端(如Web服務器)的代理使用,而不是客戶端。
客戶端藉由前向代理能夠間接訪問不少不一樣互聯網服務器(簇)的資源,而反向代理是供不少客戶端都經過它間接訪問不一樣後端服務器上的資源,而不須要知道這些後端服務器的存在,而覺得全部資源都來自於這個反向代理服務器。
Tomcat 與 Nginx,Apache的區別nginx
做者:潛龍勿用 連接:https://www.zhihu.com/question/32212996/answer/226688632 Tomcat 與 Nginx,Apache的區別1、定義:1. ApacheApache HTTP服務器是一個模塊化的服務器,能夠運行在幾乎全部普遍使用的計算機平臺上。web
其屬於應用服務器。Apache支持支持模塊多,性能穩定,Apache自己是靜態解析,適合靜態HTML、圖片等,但能夠經過擴展腳本、模塊等支持動態頁面等。apache
(Apche能夠支持PHPcgiperl,可是要使用Java的話,你須要Tomcat在Apache後臺支撐,將Java請求由Apache轉發給Tomcat處理。)後端
缺點:配置相對複雜,自身不支持動態頁面。服務器
2. Tomcat:Tomcat是應用(Java)服務器,它只是一個Servlet(JSP也翻譯成Servlet)容器,能夠認爲是Apache的擴展,可是能夠獨立於Apache運行。網絡
3. NginxNginx是俄羅斯人編寫的十分輕量級的HTTP服務器,Nginx,它的發音爲「engine X」,是一個高性能的HTTP和反向代理服務器,併發
同時也是一個IMAP/POP3/SMTP 代理服務器。負載均衡
2、比較異步
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:動態解析容器,處理動態請求,
是編譯JSP\Servlet的容器,Nginx有動態分離機制,靜態請求直接就能夠經過Nginx處理,動態請求才轉發請求到後臺交由Tomcat進行處理。Apache在處理動態有優點,
Nginx併發性比較好,CPU內存佔用低,若是rewrite頻繁,那仍是Apache較適合。
反向代理的理解:反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的鏈接請求,而後將請求轉發給內部網絡上的服務器,
並將從服務器上獲得的結果返回給internet上請求鏈接的客戶端,此時代理服務器對外就表現爲一個服務器。