詳解基於Centos7+Nginx+Tomcat8的負載均衡伺服器的搭建
這篇文章主要介紹了詳解基於Centos7+Nginx+Tomcat8的負載均衡伺服器的搭建,具有一定的參考價值,感興趣的小夥伴們可以參考一下
由於工作的需求,在使用中,需要搭建負載均衡,研究了Apache+Tomat負載均衡的方案,並且透過檢索相關的文章,進行了比較發現,Apache負載負載均衡在使用的效率上,遠遠不如Nginx的效率高,因此決定使用Nginx來進行服務的搭建。最初YUM安裝了Nginx,但是不知道什麼原因,Nginx的服務可以正常啟動,靜態頁面也可以正常訪問,但是就是無法正常的搭建虛擬主機和負載均衡。對引沒有深究原因,決定把他解除安裝,然後手動安裝。
手動安裝好Nginx後,一切正常,虛擬主機,負載均衡的配置全部沒有任何問題。順利啟用,具體的配置檔案如下:
在conf的nginx.conf的檔案中加入了:include vhost/*.conf; 以引入vhost目錄下的所有的.conf檔案,為了以後配置起來簡單,當然如果需要的話,也可以一個一個新增。
因為做負載的服務為API服務,在這裡conf檔案的名字就叫做api.xxx.com.conf,開啟檔案的配置如下:
在此沒有使用IP輪詢的方式,而使用的是usstream 的方式,具體這幾個方式有什麼不同,大家可以百度或google一下相關的介紹。需要注意的是proxy_pass,在此配置的為upstream 的名字,其它的不允許使用,如果直接配置IP地址,則不會實現負載均衡。
其中 weight表示的權重,數越大,權重越高,分配到的機會越大, backup表示的是熱備伺服器,即在前兩個負載都出現問題的時候,熱備伺服器就會自動承擔這些訪問。
至此Nginx負載均衡配置器配置完成,但是因為涉及到負載之後,若是普通的網址,在訪問的時候,就會再現Session丟失的情況,因此這個時候,就要處理session 丟失的問題,要處理此問題,有多個解決方案,一個是使用Cookies代理,另外 一個實現Session的共享,在此使用的是Session的共享,在實現共享,需要在Tomcat進行相關的配置,要實現這個需求,在此配置的Session的共享伺服器為Redis記憶體服務,主要是為了保證資料的高效讀取與儲存,在使用Redis進行Session共享,必須要新增以下幾個名:
這個幾個包,支援Tomcat8沒有任何問題,其它版本的具體支援情況如何,沒有進行相關的測試。
然後修改Tomcat中的配置檔案:
在此看到的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 }}
Tomcat配置
文章來源:搜尋引擎大全
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69911024/viewspace-2642214/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- windows伺服器第四層負載均衡_基於NLB負載均衡詳解Windows伺服器負載
- windows第七層負載均衡 基於IIS的ARR負載均衡詳解Windows負載
- 基於 CentOS 7 + Nginx + Tomcat 的負載均衡伺服器的搭建CentOSNginxTomcat負載伺服器
- 微服務架構 | 4.1 基於 Ribbon 的負載均衡詳解微服務架構負載
- 負載均衡詳解負載
- Kubernetes上的負載均衡詳解負載
- Nginx負載均衡詳解Nginx負載
- Docker Swarm :gRPC 基於 DNS 的負載均衡DockerSwarmRPCDNS負載
- 基於滴滴雲DC2+Nginx搭建負載均衡方案Nginx負載
- F5負載均衡系列教程八【負載均衡演算法詳解】負載演算法
- 全網最詳細的負載均衡原理圖解負載圖解
- mysql負載均衡搭建(haproxy)MySql負載
- 伺服器負載均衡伺服器負載
- 基於開源Tars的動態負載均衡實踐負載
- 常用負載均衡詳解(圖文總結)負載
- 負載均衡 - MQTT Broker 叢集詳解(一)負載MQQT
- nginx部署基於http負載均衡器NginxHTTP負載
- 負載均衡簡介與搭建負載
- 負載均衡伺服器的主要用途是什麼?負載均衡的方法是什麼?負載伺服器
- Nginx/LVS/HAProxy負載均衡軟體的優缺點詳解Nginx負載
- 淺析基於雲的DNS管理與負載均衡技術DNS負載
- gRPC的負載均衡RPC負載
- CDN和負載均衡的基本瞭解負載
- Spring Cloud:使用 Feign 實現負載均衡詳解SpringCloud負載
- 負載均衡最全詳解(圖文全面總結)負載
- Nginx多種負載均衡策略搭建Nginx負載
- Nginx搭建反向代理負載均衡和web快取伺服器Nginx負載Web快取伺服器
- Spring RSocket:基於服務註冊發現的 RSocket 負載均衡Spring負載
- OceanBase 負載均衡的魅力負載
- 4.8 負載均衡的概念負載
- 負載均衡的那些事?負載
- 負載均衡的種類負載
- Spring Cloud:使用Ribbon實現負載均衡詳解(上)SpringCloud負載
- Spring Cloud:使用Ribbon實現負載均衡詳解(下)SpringCloud負載
- 負載均衡最全詳解(看這篇就夠了)負載
- Nginx伺服器的使用與反向代理負載均衡Nginx伺服器負載
- 伺服器負載均衡的幾種演算法伺服器負載演算法
- 基於gRPC的註冊發現與負載均衡的原理和實戰RPC負載