IT技術互動交流平臺

Nginx+Tomcat反向代理負載均衡集群部署指南

來源:IT165收集  發布日期:2016-12-14 20:33:02

轉載請注明出處:http://blog.csdn.net/smartbetter/article/details/53535435

Nginx是一種服務器軟件,也是一種高性能的http和反向代理服務器,同時還是一個代理郵件服務器。也就是說,我們在Nginx上可以發布網站,可以實現負載均衡(提高應答效率,避免服務器崩潰),還可以作為郵件服務器實現收發郵件等功能。而最常見的就是使用Nginx實現負載均衡。

Nginx與其他服務器的性能比較:

Tomcat服務器面向Java語言,是重量級的服務器,而Nginx是輕量級的服務器。Apache服務器穩定、開源、跨平臺,但是Apache服務器不支持高并發,Nginx能支持處理百萬級的TCP連接,10萬以上的并發連接,并且是一個很好的跨平臺服務器。
Nginx主要優點有可以實現高并發、部署簡單、內存消耗少、成本低等,主要缺點有rewrite功能不夠強大,模塊沒有Apache的多。

本篇主要講解 Nginx + Tomcat 反向代理和負載均衡的部署,以通俗實用為主。本篇文章每個部分之間沒有太大關系,可根據需求分開學習。

下來看一下Nginx反向代理的過程:
Nginx反向代理的過程

Nginx負載均衡的過程(會自動選擇壓力較小的服務器進行訪問):

Nginx負載均衡的過程

可以看出,負載均衡是通過反向代理的原理實現的,所以也稱 反向代理的負載均衡 。所以我們會部署負載均衡,那么反向代理也就會了。

總的來說,負載均衡實現的方式分為軟件實現和硬件實現兩種,硬件實現運行的效率非常高,但是對應的成本也非常高。軟件實現運行效率不如硬件,但是成本相對來說低得多。而使用Nginx服務器實現負載均衡,那么就是通過軟件的方式來實現負載均衡,并且Nginx本身支持高并發等。故而使用Nginx服務器實現負載均衡,能大大節約企業的成本,并且由于Nginx是服務器軟件,其執行效率也是非常高。本篇的目的也就是幫助大家使用Nginx實現負載均衡。

負載均衡的核心就是建立一個服務器集群,然后用戶首先訪問到第三方代理服務器(這里我們選用Nginx),然后由代理服務器選擇一個集群中的服務器,然后將請求引入選定的服務器(這里我們選用Tomcat)。

如下圖,通過反向代理我們實現下面的負載均衡,這里我們