基于Centos7+Nginx+Tomcat8的負載均衡服務器怎么搭建

手動安裝好nginx后,一切正常,虛擬主機,負載均衡的配置全部沒有任何問題。順利啟用,具體的配置文件如下:

在conf的nginx.conf的文件中加入了:include vhost/*.conf;? 以引入vhost目錄下的所有的.conf文件,為了以后配置起來簡單,當然如果需要的話,也可以一個一個添加。

因為做負載的服務為api服務,在這里conf文件的名字就叫做api.xxx.com.conf,打開文件的配置如下:

基于Centos7+Nginx+Tomcat8的負載均衡服務器怎么搭建

在此沒有使用ip輪詢的方式,而使用的是usstream 的方式,具體這幾個方式有什么不同,大家可以百度或google一下相關的介紹。需要注意的是proxy_pass,在此配置的為upstream 的名字,其它的不允許使用,如果直接配置ip地址,則不會實現負載均衡。

其中 weight表示的權重,數越大,權重越高,分配到的機會越大, backup表示的是熱備服務器,即在前兩個負載都出現問題的時候,熱備服務器就會自動承擔這些訪問。

至此nginx負載均衡配置器配置完成,但是因為涉及到負載之后,若是普通的網址,在訪問的時候,就會再現session丟失的情況,因此這個時候,就要處理session 丟失的問題,要處理此問題,有多個解決方案,一個是使用cookies代理,另外 一個實現session的共享,在此使用的是session的共享,在實現共享,需要在tomcat進行相關的配置,要實現這個需求,在此配置的session的共享服務器為redis內存服務,主要是為了保證數據的高效讀取與存儲,在使用redis進行session共享,必須要添加以下幾個名:

基于Centos7+Nginx+Tomcat8的負載均衡服務器怎么搭建這個幾個包,支持tomcat8沒有任何問題,其它版本的具體支持情況如何,沒有進行相關的測試。

然后修改tomcat中的配置文件:

?基于Centos7+Nginx+Tomcat8的負載均衡服務器怎么搭建

? 在此看到的10.0.0.x的地址,全部是內網完成的, 外網不通,只有負責負載的服務器才直接連接的外網。

? 在這個時候,可以順利啟動tomcat服務器,與nginx服務器了,但是在此之前,必須要先啟動nginx服務器,否則tomcat可能會出現啟動失敗的情況。nginx服務可以順利啟動

三處配置如下:

nginx.conf中添加的引用內容

include?vhost/*.conf;

負載均衡配置:

upstream?api.xxx.com?{ ?server?10.0.0.12:8080?weight=5; ?server?10.0.0.15:8081?weight=5?; ?server?10.0.0.16:8080?weight=5?backup; } server?{ ?listen????80; ?server_name?api.xxx.com; ?location?/ ??{ ???proxy_set_header?host?$host; ???proxy_set_header?x-real-ip?$remote_addr; ???proxy_set_header?x-forwarded-for?$remote_addr; ???proxy_pass?http://api.xxx.com; ????} }

?tomcat配置

<valve></valve><manager></manager>

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享