1. 程式人生 > >Nginx+Tomcat高性能負載均衡集群搭建

Nginx+Tomcat高性能負載均衡集群搭建

windows .org 過程 加載 部署 href .cn .com AI

轉載請註明出處:http://www.cnblogs.com/Joanna-Yan/p/8745794.html

Nginx是一個高性能的HTTP服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器。其占有內存少,並發能力強,在同類型的網頁服務器中表現較好。Nginx可以在大多數Unix Linux OS上編譯運行,並有Windows移植版。一般情況下,對於新建站點,建議使用最新穩定版作為生產版本。

單個Tomcat最大支持在線訪問是500左右,要通知支持更多的訪問量一個Tomcat就沒法做到了。在這裏我們采用集群部署方式,使用多個Tomcat,反向代理使用Nginx。

架構如下:

技術分享圖片

準備工作

apache-tomcat-7.0.61

nginx-1.12.2

Redis-x64-3.2.100

為簡化示例,這裏只講Nginx+Tomcat的部署與集成。

Nginx安裝

(1)去官網下載Windows的最新穩定版Nigx(我用的1.12.2版本)。官網

(2)解壓到磁盤任意目錄。這裏我解壓在 F:\nginx-1.12.2

(3) 啟動服務: start nginx.exe

  停止服務:nginx -s stop

  重新加載配置:nginx -s reload

修改nginx.conf

1.進程數與每個進程的最大連接數

  • nginx進程數,建議設置為等於CPU總核心數
  • 單個進程最大連接數。那麽該服務器的最大連接數=連接數*進程數

技術分享圖片

2.Nginx的基本配置

  • 監聽端口一般都為http端口:80
  • 域名可以有多個,用空格隔開。例如server_name www.sohu.com baidu,com

技術分享圖片

3.負載均衡列表基本配置

  • location / {} :對什麽樣的後綴進行負載均衡請求,假如我們要對所有的aspx後綴的文件進行負載均衡時,可以這樣寫:location ~.*\.aspx${}
  • proxy_pass:請求轉向自定義的服務器列表,這裏我們將請求都轉向標識為http://joannayan.com的負載均衡服務器列表。
  • weight權重,權值越高被分配的幾率越大。可以根據機器配置定義權重(如果某臺服務器的硬件配置很好,可以處理更多的請求,那麽可以為其設置一個較高的weight;而有一臺的服務器的硬件配置比較差,那麽可以將前一臺的weight配置為weight=2,後一臺差的配置為weight=1)。

技術分享圖片

測試

分別向兩臺機器的Tomcat服務器中部署TestNginx.war這個Web項目(為了區分訪問的是不同的Web服務器,兩機器中部署的TestNginx這個項目在頁面顯示上略有不同)。

啟動啟動兩機器上的Tomcat,並啟動nginx.

技術分享圖片

訪問nginx:http://localhost/TestNginx

技術分享圖片

刷新,再訪問:

技術分享圖片

由於權重的不同,在不斷刷新頁面的過程中,顯示“5.20服務器”的可能性會大一些。

如果此文對您有幫助,微信打賞我一下吧~

技術分享圖片

Nginx+Tomcat高性能負載均衡集群搭建