nginx負載均衡數據庫怎么做

nginx負載均衡數據庫怎么做

關于nginx的安裝我就不多說了,網上一搜一大把

需要注意的是,nginx在1.9版本之前是只能配置http協議的,不接受tcp協議的代理,所以nginx最常見的功能是服務器的負載均衡配置,大致流程如下: ? (推薦學習:nginx教程

以TONCAT 的web服務器舉例:

nginx負載均衡數據庫怎么做

Nginx的作用主要就是分發請求,減少單個tomcat的壓力,從而達到提高服務器承載請求的能力(也就是能夠處理高并發的情況服務器不會癱瘓)

使用Nginx配置mysql負載均衡與上述差不多,只不過TOMCAT將不再連接同一個數據庫服務器,而是連接nginx,nginx分發請求給不同的數據庫服務器。

需要注意的是,這種情況下,我為了保證TOMCAT拿到的數據是正確的,需要保證不同數據庫之間的數據是同步的,我這次應用中使用的是mysql自帶的同步功能,設置為主主同步(實際上就是多個主從同步)

nginx負載均衡數據庫怎么做

mysql負載均衡的配置也是十分簡單:

在nginx.conf文本最后一行添加下述代碼即可:

stream?{ ????server?{ ???????listen?3306; ???????proxy_pass?db;???? ????} ????upstream?db?{ ???????server?192.168.18.130:3305; ???????server?192.168.18.129:3305; ????} ? }

需要說明的是,上述配置中監聽了3306端口,即3306端口將被nginx占用,而mysql的默認使用端口為3306,這將導致mysql無法啟動,所以需要將mysql的端口號改為其他端口(本文中將其設置成3305,這將會在mysq主主同步的博文中說明),proxy_pass即為代理地址

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