基於Centos7+Nginx+Tomcat8的負載均衡服務器的搭建

         因爲工做的需求,在使用中,須要搭建負載均衡,研究了Apache+Tomat負載均衡的方案,而且經過檢索相關的文章,進行了比較發現,Apache負載負載均衡在使用的效率上,遠遠不如Nginx的效率高,所以決定使用Nginx來進行服務的搭建。最初YUM安裝了Nginx,可是不知道什麼緣由,Nginx的服務能夠正常啓動,靜態頁面也能夠正常訪問,可是就是沒法正常的搭建虛擬主機和負載均衡。對引沒有深究緣由,決定把他卸載,而後手動安裝。nginx

        手動安裝好Nginx後,一切正常,虛擬主機,負載均衡的配置所有沒有任何問題。順利啓用,具體的配置文件以下:api

       在conf的nginx.conf的文件中加入了:include vhost/*.conf;  以引入vhost目錄下的全部的.conf文件,爲了之後配置起來簡單,固然若是須要的話,也能夠一個一個添加。tomcat

        由於作負載的服務爲API服務,在這裏conf文件的名字就叫作api.xxx.com.conf,打開文件的配置以下:服務器

   

在此沒有使用IP輪詢的方式,而使用的是usstream 的方式,具體這幾個方式有什麼不一樣,你們能夠百度或google一下相關的介紹。須要注意的是proxy_pass,在此配置的爲upstream 的名字,其它的不容許使用,若是直接配置IP地址,則不會實現負載均衡。session

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

至此Nginx負載均衡配置器配置完成,可是由於涉及到負載以後,如果普通的網址,在訪問的時候,就會再現Session丟失的狀況,所以這個時候,就要處理session 丟失的問題,要處理此問題,有多個解決方案,一個是使用Cookies代理,另外 一個實現Session的共享,在此使用的是Session的共享,在實現共享,須要在Tomcat進行相關的配置,要實現這個需求,在此配置的Session的共享服務器爲Redis內存服務,主要是爲了保證數據的高效讀取與存儲,在使用Redis進行Session共享,必需要添加如下幾個名:測試

這個幾個包,支持Tomcat8沒有任何問題,其它版本的具體支持狀況如何,沒有進行相關的測試。google

而後修改Tomcat中的配置文件:spa

 

  在此看到的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 className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />
<Manager className="com.radiadesign.catalina.session.RedisSessionManager"  
             host="10.0.0.16"  
             port="10000"  
             database="0"  
             maxInactiveInterval="60" />

關於怎麼安裝Tomcat,Nginx,Redis的不是這個的討論範圍。

相關文章
相關標籤/搜索